我正在执行一个查询,其中我将查询投影到使用列表的业务对象中。问题是 Linq to entity 抱怨“LINQ to Entities 仅支持无参数构造函数和初始化程序”。
我一直在把头发拉出来。我的查询看起来像这样:
var q = from d in db.Items select new BusinessObject
{
MyList = new List<MyObject>(d.Select(x => new MyObject {// set fields})
}
我不能使用初始化程序,因为它似乎只接受一个项目,而不是它们的集合。我不能做 .ToList() 因为 EF 然后抱怨它不知道 MyObject 的列表是什么(显然,它正在尝试将其转换为 SQL)。
我无法在查询之外创建列表,因为我需要为父表中的每一行创建一个新列表。
这里有什么建议吗?