2017-12-04 3 views
0

사용자 정보를로드하는 ServiceStack 자동 쿼리. 내가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; } 
} 

, 나는이 같은 생일 컬럼에 널 (null)이 아닌 모든 항목을 수신 할 수 있어야한다 :이 같은 클래스를 가지고 위의 null 필터에 관계없이 모든 항목을 수신합니다. 어떻게 바꿀 수 있습니까? 데이터베이스의 값이 올바르게 null로 설정됩니다.

+0

당신이 귀하의 질문에 당신이 가정을 만들어 놓은 문서를 인용하기를 편집시겠습니까? – mythz

답변

2

ServiceClient를 사용하여 null 값을 보낼 수 없습니다. A null 값은 default(DateTime?)과 같은 값인 이 아니므로 값이이 아니므로 "null 필터"가 전송되지 않고 쿼리가 동일하고 빈 QueryItem DTO를 보내는 것과 구별 할 수 없습니다.

당신은 사용할 필요가 거라고 Custom AutoQuery Implementation 또는 같은 Customizable Query :

[QueryDbField(Template = "{Field} IS NOT NULL", Field = "Birthday")] 
public bool? BirthdayIsNotNull { get; set; }