简单的问题。我的edmx模型中有实体Customer。我需要在c#中获得Id = 20的客户。我该怎么做?
答案 0 :(得分:16)
Entities.Customer.First(c => c.CustomerId == 20);
答案 1 :(得分:10)
您需要使用.First()或.FirstOrDefault()。差异取决于您的客户不存在时是否需要空值或例外。
如果数据库中没有匹配的结果,则First()方法将抛出异常。如果数据库中没有匹配的结果,则.FirstOrDefault()方法将返回null
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
答案 2 :(得分:0)
您还可以使用LINQ方法,如下所示:
Customer customerRecord =
(from customer in Entities.Customers
where customer.id == 20
select customer).FirstOrDefault();
如果具有该ID的元素不存在,则使用FirstOrDefault()
将返回null
,而First()
将抛出异常。另外,在使用LINQ语句之前,请确保包含using System.Linq;
。
希望这会有所帮助。