-1

Sqlサーバー2012、Entity Framework 5.0を使用しています

テーブル Customer: Id ... NickName (nvarchar(100)) は Nullable です

Customer ICustomer service:    Customer GetCustomer(Func<Customer, bool> pre);


public Customer GetCustomer(Func<Customer, bool> pre)
        {
            return _customerRepository.Table.Where(pre).FirstOrDefault();
        }

データを取得しようとすると:

  var customer = _customerService.GetCustomer(c => c.Nickname.Equals("abc"));

エラーが発生します:

例外の詳細: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

NickName が NULL データの場合

4

2 に答える 2

2

使ってみて==

var customer = _customerService.GetCustomer(c => c.Nickname == "abc");

または、null をチェックするだけです。

var customer = _customerService.GetCustomer(c => c.Nickname != null && c.Nickname.Equals("abc"));
于 2013-10-15T03:13:09.797 に答える
0

はい、それは正しいです。null に対してメソッドを呼び出すことはできません...次のように考えてください。

変数が null の場合、次のことを行おうとしています: null.Method() <- これはまずい..

あなたが試してみたいことは

var customer = _customerService.GetCustomer(c => "abc".Equals(c.Nickname));
于 2013-10-15T03:13:56.503 に答える