dataContext.Geo_Countries.Where(c => c.Name.Contains(searchKey))。ToList();IQueryableがレコードを返さない場合、ToList()は例外をスローします。
IQueryableがレコードを返さない場合、値のNULL例外が発生します。
解決策は何ですか。
dataContext.Geo_Countries.Where(c => c.Name.Contains(searchKey))。ToList();IQueryableがレコードを返さない場合、ToList()は例外をスローします。
IQueryableがレコードを返さない場合、値のNULL例外が発生します。
解決策は何ですか。
私はマッチがないときに問題が発生しないと思っています。データベースに行があり、Name
の値がないときに問題があると思われます。それとも、あなたが私たちに示されていない何か他のことをやっている。スタックトレースはどのように見えますか?
例外の詳細:System.ArgumentNullException:値にnullを設定することはできません。 パラメータ名:テキスト ソースエラー: ライン69:公共の一覧
@Doozie: 'searchKey'は何時でもnullですか? –
は、コードが正しく実行されない場合は例外がスローされますのIQueryableにこのコード
dataContext.Geo_Countries.Where(c => c.Name != null && c.Name.Contains(searchKey)).ToList();
それは役に立たなかった。私はテーブルに「アメリカ」と「カナダ」という2つのレコードしかなく、searchKeyは「li」です。 nullまたは空白などのレコードはありません。 – Doozie
dataContextまたはGeo_Countriesがnullの場合があります。デバッグモードで確認できますか? –
呼び出しToListメソッド()を使用してみてください。次の例では、c.Nameがnullの場合、ToList()は例外をスローします。
void Main()
{
var countries = new [] { new Country() }.AsQueryable();
countries.Where(c => c.Name.Contains("bubba")).ToList();
}
class Country{
public string Name { get; set; }
}
通常、あなたが投稿したステートメントからnull例外を受け取らないようにするために、dataContextまたはGeo_Countriesがnullです。使用しているlinqプロバイダなど、より多くの情報を投稿する必要があるかもしれません。 –
あなたはそのクエリの結果を評価しようとしているのでなければ、例外を取得すべきではありません。 – Vishal
NorthwindデータベースとLINQPadを使用して、これを実行しました: 'Categories.Where(c => c.CategoryName ==" XXXX ")。ToList()。Dump();'そして空のリストを返します。 –