にLINQでNULL可能ブールのための条件は、私がSex
プロパティがNULL可能であることをPerson
クラスを持っている場合は使用方法。NHibernateの
public class Person
{
public bool? Sex {get; set;}
}
そして、NHibernateへのlinqの問い合わせがあります。
dto.Sexの値がtrue
の場合、結果は正しいです。
しかしdto.Sexの値は、結果はセックスが偽またはnullであることを人々が含まれているためfalse
結果が正しくない等しい場合。
私はこのクエリのプロファイラを確認:
select * from Person_Person person0_
where case
when person0_.Sex = 1 then 1
else 0
end = case
when 0 /* @p0 */ = 1 then 1
else 0
end
なぜ?
私はこの例を確認しました。問題、と私は彼が本当にhymにいくつかの回避策が存在すると言うことができる:.Where(X => x.IsActive.HasValue && x.IsActive == false)を –
@Adam:私はそれをkhowが、私は – Ehsan
あなたよりよい解決策を探して"私の基本問題は生成されたクエリのタイプです"というコメントに書いてあります。この点について詳しく説明してください。私が見ているように、記述された問題はブール型でのみ存在します。 –