2017-12-04 7 views
0

Iユーザー情報をロードするためのServiceStack autoquery。私は、ServiceStack AutoQuery - null可能なDateTimeフィールドでnullをチェックします。

QueryResponse<Item> item = jsonServiceClient.Get(new QueryItem { 
    BirthdayNotEqualTo = null 
}); 

をしかし:

documentationで書かれたよう
public class QueryItem: QueryDb<Item> 
{ 
    public string Name { get; set; } 
    public DateTime? BirthdayNotEqualTo { get; set; } 
} 

、私はこのような誕生日の列にヌルでないすべてのアイテムを受け取ることができる必要があります:私はこの1つのようなクラスを持っています上記のヌルフィルタに関係なく、すべてのアイテムを受信します。どうすれば変更できますか?データベースの値は正しくnullに設定されます。

+0

? – mythz

答えて

2

ServiceClientを使用してnull値を送信することはできません。 A nullの値がdefault(DateTime?)の場合はの値はなので、 "null filter"は送信されず、クエリは空のQueryItem DTOと同じで区別できません。

あなたは次のようにCustom AutoQuery ImplementationまたはCustomizable Queryを使用する必要があるだろう:あなたはこの仮定を作った文書を引用するあなたの質問を編集してくださいすることができ

[QueryDbField(Template = "{Field} IS NOT NULL", Field = "Birthday")] 
public bool? BirthdayIsNotNull { get; set; } 
関連する問題