gpt4 book ai didi

c# - 嵌套列表的 LINQ to Entities 投影

转载 作者:太空狗 更新时间:2023-10-29 20:03:53 25 4
gpt4 key购买 nike

假设这些对象...

class MyClass
{
int ID {get;set;}
string Name {get;set;}
List<MyOtherClass> Things {get;set;}
}

class MyOtherClass
{
int ID {get;set;}
string Value {get;set;}
}

如何使用如下所示的投影执行 LINQ to Entities 查询,这会给我一个列表?这适用于 IEnumerable(假设 MyClass.Things 是 IEnumerable,但我需要使用 List)

MyClass myClass = (from MyClassTable mct in this.Context.MyClassTableSet
select new MyClass
{
ID = mct.ID,
Name = mct.Name,
Things = (from MyOtherClass moc in mct.Stuff
where moc.IsActive
select new MyOtherClass
{
ID = moc.ID,
Value = moc.Value
}).AsEnumerable()
}).FirstOrDefault();

在此先感谢您的帮助!

最佳答案

你不知道。你必须在 L2O 中完成这一部分。

所以你可以这样做:

var q = (from MyClassTable mct in this.Context.MyClassTableSet
select new // note anonymous type; important!
{
ID = mct.ID,
Name = mct.Name,
Things = (from MyOtherClass moc in mct.Stuff
where moc.IsActive
select new MyOtherClass
{
ID = moc.ID,
Value = moc.Value
}
}).AsEnumerable();

MyClass myClass = (from mct in q
select new MyClass
{
ID = mct.ID,
Name = mct.Name,
Things = mct.Things.ToList()
}).FirstOrDefault();

无法在一个查询中执行此操作。

关于c# - 嵌套列表的 LINQ to Entities 投影,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2930925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com