亜音速3、SimpleRepository、SQL Serverの:ヌルフィールドを持つ行を見つけるにはどのように?
-
12-09-2019 - |
質問
どのように私は「ヌル」値を含むフィールドを持つ行を検索するために亜音速のFind<T>
メソッドを使用して、CA。議論のために、のは、私が「SynchronizedOn」と呼ばれるNULL値可能DateTimeフィールドを含み、またのは、サブソニック移行が対応する「訪問」テーブルと「SynchronizedOn」フィールドを作成したと仮定しましょう「訪問」と呼ばれるAC#クラスを持っていると仮定しましょう。
私はSQLクエリを自分自身を書くことだった場合、私のようなものを記述します:
SELECT * FROM Visits WHERE SynchronizedOn IS NULL
私は次のコードを使用する場合:
var visits = myRepository.Find<Visit>(x => x.SynchronizedOn == null);
サブソニックは、次のSQLクエリに変換します。
SELECT * FROM Visits WHERE SynchronizedOn == null
任意の行を返すことはありません。
私は、次のコードを試してみましたが、それはエラーをスローします:
visits = repository.Find<Visit>(x => x.SynchronizedOn.HasValue);
私は、次の構文を使用することができました
var query = from v in repository.All<Visit>()
where v.SynchronizedOn == null
orderby v.CreatedOn
select v;
visits = query.ToList<Visit>();
しかし、それはFind<T>
メソッドを使用してのように素敵なショートではありません。
誰もが、私はFind<T>
方法で "SynchronizedOnはNULL IS" 条件を指定することができる方法を知っている?
解決
あなたが使用することができます:
var visits = myRepository.All<Visit>().Where(x => x.SynchronizedOn == null).ToList();
所属していません StackOverflow