EF错误记录
純屬個人記錄錯誤使用:
1、EntityType“area”未定義鍵。請為該 EntityType 定義鍵。
產生原因:
1、命名空間引用錯誤,可能命名重復導致引用錯誤
2、實體類無法識別主鍵或者未設置主鍵
默認可識別id為主鍵,當model中無id時,則須手動標識出主鍵
引用?System.ComponentModel.DataAnnotations?命名空間
在對應model類中找到對應數據庫中主鍵的屬性,在頭部聲明[key]
?
?3、EF已有打開的與此 Command 相關聯的 DataReader,必須首先將它關閉。
將IQueryable<Entities.Assets_ApplyPurchaseList> list = handle.GetList(RequestCode);改成:List<Entities.Assets_ApplyPurchaseList> list = handle.GetList(RequestCode).ToList();即將查詢到的數據寫入內存,錯誤解除
?4、LINQ to Entities 不識別方法“System.String get_Item(Int32)”
LINQ或lamda中不能“嵌套“方法(說的不準確,暫記下)
如?var cers = _aContract.GetList(c => c.Name.Contains(list[i])).ToList();
這個語句就會報錯,原因是list[i]需要在外部獲取值,修改:
var name = list[i];
var cers = _aContract.GetList(c => c.Name.Contains(name)).ToList();
錯誤解決。這個地方很容易出錯,相似的問題還有:不能整個對象進行操作,如:
var cers = _aContract.GetList(c => c.Person.Contains(new Person{name = 'joey'})).ToList();//這里的Person是一個對象而非字段
?
轉載于:https://www.cnblogs.com/joeymary/p/6209158.html
總結
 
                            
                        - 上一篇: socket和http协议
- 下一篇: 一段人人都应该知道的从Vue到React
