可以为null列进行breeze谓词测试吗?以两种方式对null进行SQL测试:columnname = null
和columnname IS NULL
,它们会产生不同的结果。我有一个微风谓词设置为
new breeze.Predicate("columnname", "==", null)
使用EF6拦截器,我能够查看使用的sql查询,并将谓词评估为columnname = null
。如何设置谓词,以便生成的sql查询为columnname IS NULL
答案 0 :(得分:1)
您是否阅读过文档? http://breeze.github.io/doc-js/api-docs/classes/Predicate.html#method_谓词
其中一个例子
var p2 = new Predicate("Region", FilterQueryOp.Equals, null);
有关您的回答的更多文档,请参阅FilterQueryOp: http://breeze.github.io/doc-js/api-docs/classes/FilterQueryOp.html#property_Equals
这表明你可以做==罚款空等于。 它还显示没有“IS NULL”选项,所以要回答你的问题,不能从breeze客户端谓词中做“is null”。
但是,您应该注意这是客户端,我相信您需要更多地评估服务器端代码,以找出处理breeze请求的位置并将其转换为SQL。