我有一些相關的對象和關係就像是實體框架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實體框架模型 –