2011-07-13 10 views

答えて

12
Entities.Customer.First(c => c.CustomerId == 20); 
+0

おそらく何か不足しています。ここに私が持っているものがあります:Project1.OrderEntities oe = new Project1.OrderEntities(); oe.Customers.First(c => c.CustomerId == 20);そこにはプロパティ "First"はありません。 – user194076

+2

'First'はLinq拡張メソッドです。 .csファイルの先頭に 'using System.Linq;'を入れてください。 –

9

.First()または.FirstOrDefault()を使用します。違いは、顧客が存在しない場合にnullまたは例外を指定するかどうかになります。

データベースに一致する結果がない場合、.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を返します。もしnullを返しますFirstOrDefault()を使用して

Customer customerRecord = 
    (from customer in Entities.Customers 
    where customer.id == 20 
    select customer).FirstOrDefault(); 

そのIDを持つ要素は存在しませんが、例外をスローするFirst()とは異なります。また、LINQステートメントを使用する前に、using System.Linq;を必ず含めてください。

これが役に立ちます。

関連する問題