C# 使用实体框架检索foreach中的内部数据库字段

C# 使用实体框架检索foreach中的内部数据库字段,c#,asp.net-mvc,entity-framework,linq,C#,Asp.net Mvc,Entity Framework,Linq,我有一张“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.Cr

我有一张“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.descripao”的值,以便与字符串进行比较。问题是,因为它是因苏莫之子,所以整个程序都是空的,我的程序无法运行

由于我不知道如何将“Include”与“register”一起使用,因此无法检索到所需的值


如何检索“register.Finalidade.descripao”的值?

您没有在名为
register
的对象上使用
.Include()
。您可以在初始化
模型
属性时使用它

// .ToList is optional
var model = db.Insumos.Include(x => x.Finalidade).ToList();
你必须用它来完成你想要达到的目标


让我知道这是否有帮助

另一个选项是使用ViewModels和LINQ来构建所需的内容。看,我的解决方案对你有帮助吗?