我有个问题。我在 Visual Studio 中创建了一个数据实体模型。在Linq;
Guid RtuDataId = db.RtuData.Where(x => x.CommunicationUnit.Id == new Guid(ID))
.OrderByDescending(x => x.ReadOn)
.LastOrDefault().Id;
我得到错误;
无法识别方法...方法,并且此方法无法翻译为商店表达式。
我在谷歌搜索,但我不明白这个错误。
我有个问题。我在 Visual Studio 中创建了一个数据实体模型。在Linq;
Guid RtuDataId = db.RtuData.Where(x => x.CommunicationUnit.Id == new Guid(ID))
.OrderByDescending(x => x.ReadOn)
.LastOrDefault().Id;
我得到错误;
无法识别方法...方法,并且此方法无法翻译为商店表达式。
我在谷歌搜索,但我不明白这个错误。
它LastOrDefault
在 LINQ to Entites 中不受支持。我不确定您为什么使用OrderByDescending
,而是可以使用OrderBy
然后选择First
。如果您Guid
在查询之前创建新的,然后将其传递给您的 where 子句,它也会更好,例如:
var guid = new Guid(ID);
Guid RtuDataId = db.RtuData
.Where(x => x.CommunicationUnit.Id == guid)
.OrderBy(x => x.ReadOn)
.FirstOrDefault()
.Id;
由于FirstOrDefault
可能返回,所以您应该在访问之前null
检查null
Id