按ID从实体框架中获取项目

时间:2011-07-13 00:45:52

标签: c# asp.net

简单的问题。我的edmx模型中有实体Customer。我需要在c#中获得Id = 20的客户。我该怎么做?

3 个答案:

答案 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;

希望这会有所帮助。