エンティティSQLクエリがあります:
SELECT VALUE t FROM MyEntities AS t
WHERE t.Name = @p OR (@p IS NULL AND t.Name IS NULL)
次のようにクエリを実行できます。
var results = context.CreateQuery<WorkflowInstance>(
query, new ObjectParameter("p", name)).ToList();
ただし、「name」変数がnullの場合、System.ArgumentNullExceptionが発生します。そのため、名前がnullの場合もDBNull.Valueを使用しようとしましたが、次の例外が発生します。
System.ArgumentOutOfRangeExceptionがキャッチされました
Message=指定されたパラメータータイプ'System.DBNull'は無効です。System.Int32、System.Decimal、System.DateTime、System.Guidなどのスカラー型のみがサポートされています。
null値も可能なパラメータ値であるパラメータ化されたクエリが欲しいです。エンティティSQLでこれを実現するにはどうすればよいですか?