我有一些相关的对象和关系就像是实体框架LINQ从LastOrDefault父母发现子项目
public class Project
{
public List<ProjectEdition> editions;
}
public class ProjectEdition
{
public List<EditionItem> items;
}
public class EditionItem
{
}
我想只为每个项目
例
取从ProjectEditions的最后条目EditionItems项目#1 - >版#1包含几个版项目],版#2包含几版物品]
项目#2 - >版#1 ,版本#2和版本#3
我的必需输出仅包含项目#1的版本#2和项目#2的版本#3的版本项目。我的意思是EditionItems从最新版项目的项目或最后一版的唯一
为了得到这个我想这个查询
List<EditionItem> master_list = context.Projects.Select(x => x.ProjectEditions.LastOrDefault())
.SelectMany(x => x.EditionItems).ToList();
但在LatsOrDefault其将返回错误()部分
的例外在EntityFramework.SqlServer.dll中发生类型'System.NotSupportedException',但未在用户代码中处理
附加信息:LINQ to Entities无法识别方法'---------。Models.ProjectEdition LastOrDefault [临jectEdition(System.Collections.Generic.IEnumerable`1
所以,我怎么可以过滤项目的最后一版,然后得到一个LINQ呼叫从中EditionItems列表
按相反顺序排序并获得'FirstOrDefault()' – trailmax
正如您的例外所述,您的提供程序不支持'LastOrDefault()'。如果你仔细想想,如果没有应用排序顺序,当你使用SQL术语“last”时没有意义,因为记录可能来自服务器而没有特定的顺序。 – trailmax
那我怎么能达到相同的?我正在使用SQL Server实体框架模型 –