C# 加载相关实体

C# 加载相关实体,c#,sql,.net,entity-framework,linq,C#,Sql,.net,Entity Framework,Linq,我们正在使用EF.NETCore作为我们的体系结构,并希望执行一个基本查询。因此,我们所要做的就是在禁用延迟加载的情况下使用LINQ和EF来选择父对象,在本例中,选择stick项和子对象中的一些字段。然后将它们返回到强类型项中 像这样的 var qry = _context.Set<stock>() .Include(p => p.stockitem) .Where(q => q.customer == accountNo)

我们正在使用EF.NETCore作为我们的体系结构,并希望执行一个基本查询。因此,我们所要做的就是在禁用延迟加载的情况下使用LINQ和EF来选择父对象,在本例中,选择stick项和子对象中的一些字段。然后将它们返回到强类型项中

像这样的

 var qry = _context.Set<stock>()
        .Include(p => p.stockitem)
        .Where(q => q.customer == accountNo)
        .Select(r => new stock() { 
            customer = r.customer, 
            r.stockitem.select(s => new {id, s.id, s.name }})
        .ToList();
var qry=\u context.Set()
.包括(p=>p.stockitem)
.其中(q=>q.customer==accountNo)
.Select(r=>newstock(){
客户=r.客户,
r、 选择(s=>new{id,s.id,s.name})
.ToList();

那么有可能做到这一点吗?基本上,从我们的子对象中获取一些列。然后在强类型对象中返回所有内容。

首先创建一个模型,其中存储所选数据(此模型只是一个示例):

PS:我使用了
Dictionary
,因为你没有提供实际的模型。你可以选择你想要的任何类型的
List

行r.stockitem.select(s=>new{id,s.id,s.name})不太正确,它没有在初始值设定项块中设置属性…括号也不正确。。。
public class MyNewCustomer
{
    public string CustomerAccount { get; set; }
    public Dictionary<int, string> Items { get; set; }
}
var data = _context.Stocks
    .Include(p => p.stockitem)
    .Where(p => p.customer == accountNo)
    .Select(p => new MyNewCustomer 
    {
        CustomerAccount = p.customer,
        Items = p.stockitem.ToDictionary(s => s.id, s => s.name)
    }).ToList();