0

が存在するとき、私はオブジェクトエラーのインスタンスに設定されていないオブジェクト参照を返すされている次のクエリを持ってnullref例外を与えます私は必要なデータを取得します:LINQクエリは、常にデータが

(select CustomerEmail from dbo.Customers where dbo.CustomerEmail like @UserName) 

私は構文が間違っています。

ありがとうございました。

+0

'DataContext'オブジェクトがインスタンス化されていることを確認しましたか? – smartcaveman

+0

これはコンパイルされますか? LINQに「Like」というキーワードがそのまま存在するとは思わなかった。 VB.NETを使用していますか?これはどの.NETバージョンですか? –

答えて

0

クエリの後でToList()を呼び出すとどうなりますか。期待される結果が見えますか?あなたが戻っていない場合(これは、空のIEnumerableを期待するように間違っています)、これは例外を説明します。

コードから使用された永続性フレームワークを削除して、何が起こるかを確認してください。

0

最初の文を取る

(From u In db.Customers Where u.CustomerEmail Like UserName.Text Select u.CustomerEmail).ToString 

db is null 

db.Customers is null 

または

UserName is null 

場合はnull例外を与えることができますし、私はそれはそれについてだと思います。

ToStringコマンドは実際にクエリを実行しますか? EntityFrameworkについてはわかりませんが、Linq2SqlのようにSQLクエリが返された場合、null例外がスローされることはありません。実際にクエリを実行すると、u.CustomerEmailが文字列として定義されていると仮定すると、これもnull例外をスローするとは思われません。

データが欠落している場合は、引き続きnull例外が発生するとは考えられません。 Singleは '要素が含まれていないシーケンス'エラーをスローする可能性があります。