用实体框架检索内部数据库字段
问题描述:
我有一个“Finalidade”表,它是“Insumo”表的儿子。用实体框架检索内部数据库字段
在下面的代码:
var db = new ApplicationDbContext();
var model = db.Insumos;
foreach (var register in model)
{
data.Custo = register.Finalidade.Descricao == "Revenda"
? data.Custo
: data.Custo - data.CrdtIpi;
}
我需要检索内部场“Finalidade.Descricao”的值,这样我可以比较我的字符串。问题是,因为它是Insumo的儿子,整个事情都是空的,我的程序不能工作。
因为我没有如何使用“包含”与“注册”我无法检索我需要的值。
如何检索“register.Finalidade.Descricao”的值?
答
对于名为register
的对象,您不使用.Include()
。您可以在初始化model
属性时使用它。
// .ToList is optional
var model = db.Insumos.Include(x => x.Finalidade).ToList();
您必须使用eager loading才能完成您要实现的目标。
让我知道这是否有帮助!
另一种选择是使用ViewModels并使用LINQ来构建你所需要的。见[这里](https://*.com/questions/28093915/ef-gather-all-child-records-into-list-with-a-parent-member)。 –
我的解决方案能够帮助您吗? –