簡單的問題。我在我的edmx模型中有實體Customer。我需要在c#中使用Id = 20的客戶。我怎麼做?從實體框架獲取項目ID
2
A
回答
12
Entities.Customer.First(c => c.CustomerId == 20);
9
您將要使用.First()或.FirstOrDefault()。區別在於,如果您的客戶不存在,是否需要空值或異常。
如果數據庫中沒有匹配結果,.First()方法將引發異常。如果沒有匹配的結果在數據庫中
Customer customer21 = oe.Customers.First(c => c.CustomerId == 20); // throws an exception if customer 21 does not exist
Customer customer21 = oe.Customers.FirstOrDefault(c => c.CustomerId == 20); // null if customer 21 does not exist
0
你也可以使用一個LINQ方法的.FirstOrDefault()方法將返回null,如下:
Customer customerRecord =
(from customer in Entities.Customers
where customer.id == 20
select customer).FirstOrDefault();
使用FirstOrDefault()
將返回null
如果帶有該ID的元素不存在,而不是First()
,這會引發異常。另外,在使用LINQ語句之前,請確保包含using System.Linq;
。
希望這會有所幫助。
相關問題
- 1. 通過實體框架添加新項目後獲取ID
- 2. 獲取ID值與實體框架
- 3. 如何獲取實體框架中插入實體的ID?
- 4. 獲取最近創建的實體的ID - ADO實體框架
- 5. 與實體框架獲取
- 6. 在實體框架中從父項中獲取子項4
- 7. 從實體框架中的父實體獲取子實體c#
- 8. 實體框架:獲取相關實體
- 9. 使用實體框架從關聯中獲取ID
- 10. 從表[實體框架]獲取最後的ID
- 11. 組合框和實體框架,如何獲取ID? (WPF-MVVM)
- 12. 實體框架:當實體ID的SaveChanges
- 13. 實體框架 - 通過ID
- 14. 實體框架.find(id)NullReferenceException
- 15. 實體框架ID屬性
- 16. 上下文關閉後從實體獲取OriginalValues實體框架
- 17. 實體框架 - 從實體獲取表名
- 18. 從實體框架核心中的實體獲取DbContext
- 19. ID爲實體框架查詢項目自IEnumerable
- 20. 使用Lambda查詢從實體框架獲取項目時出錯
- 21. 使用實體框架從數據庫結果獲取項目linq
- 22. 實體框架:ChildCollection項目去除
- 23. 實體框架4.3多項目安裝
- 24. 實體框架和類項目
- 25. 對大項目使用實體框架
- 26. 如何啓動實體框架項目
- 27. .NET/C#庫項目實體框架app.config
- 28. 實體框架 - 多項目支持
- 29. 實體框架演示項目
- 30. 獲取實體框架以在更新時從數據庫獲取實體
我可能錯過了一些東西。這裏是我得到的:Project1.OrderEntities oe = new Project1.OrderEntities(); oe.Customers.First(c => c.CustomerId == 20);那裏沒有財產「第一」。 – user194076
'First'是一個Linq擴展方法。把'using System.Linq;'放在你的.cs文件的頂部。 –