使用EF Core查詢資料庫中滿足條件的最后一條記錄: 使用LINQ中的LastOrDefault, 代碼如下:
1 public async Task<Onu> Find(string sn) 2 { 3 //return await _onuContext.Onus.FirstOrDefaultAsync(o => o.Serialnum == sn); 4 return _onuContext.Onus.LastOrDefault(o => o.Serialnum.EndsWith(sn.ToUpper())); 5 }
在運行時發生例外:

查詢MSDN: 并非所有的LINQ方法都支持物體類查詢:
https://docs.microsoft.com/zh-cn/dotnet/framework/data/adonet/ef/language-reference/supported-and-unsupported-linq-methods-linq-to-entities?redirectedfrom=MSDN
解決辦法:
先將物體類查詢轉為Enumerable型別再使用LastOrDefault即可:
public async Task<Onu> Find(string sn) { //return await _onuContext.Onus.FirstOrDefaultAsync(o => o.Serialnum == sn); return _onuContext.Onus.Where(o => o.Serialnum.EndsWith(sn.ToUpper())).ToArray().LastOrDefault(); }
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/1669.html
上一篇:MVC+EF6-CodeFirst 連接MySQL并創建資料庫和表_Demo
下一篇:EF修改部分欄位
