cto*_*orx 7 c# linq-to-entities entity entity-framework
假设这些对象......
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;}
}
Run Code Online (Sandbox Code Playgroud)
如何使用下面的投影执行LINQ to Entities Query,它会给我一个List?这与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();
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助!
Cra*_*ntz 14
你没有.你必须在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();
Run Code Online (Sandbox Code Playgroud)
在一个查询中无法执行此操作.