2010-11-30 11 views
1
public tblCustomerDetail GetCustomerDetailsByID(long ID) 
     { 
      var customer = from c in DataContext.GetTable<tblCustomerDetail>() where c.ID == ID select c; 
      return customer as tblCustomerDetail; 
     } 

DataContext.GetTable()にはレコードがあり、IDに基づいてフィルタリングした後、顧客変数にレコードはありませんが、検索対象のIDのレコードが返されます表。レコードを返さないLinqクエリ

助けてください。私はLINQの新人です。

答えて

3

可変顧客はIEnumerable<tblCustomerDetail>となるので、as演算子でキャストすると、型が互換性がないため結果がnullになります。

代わりにこれを試してみてください:

public tblCustomerDetail GetCustomerDetailsByID(long ID) 
{ 
    var customer = from c in DataContext.GetTable<tblCustomerDetail>() where c.ID == ID select c; 
    return customer.First(); 
} 
+0

ありがとうそんなに。 – teenup

+0

これは一般的にas演算子を避けたい理由の1つです。キャスト例外は、null参照例外よりも即時で有益です。 –

関連する問題