Breeze谓词:column = null vs column IS NULL

时间:2016-03-03 13:46:11

标签: sql null breeze predicate

可以为null列进行breeze谓词测试吗?以两种方式对null进行SQL测试:columnname = nullcolumnname IS NULL,它们会产生不同的结果。我有一个微风谓词设置为

new breeze.Predicate("columnname", "==", null)

使用EF6拦截器,我能够查看使用的sql查询,并将谓词评估为columnname = null。如何设置谓词,以便生成的sql查询为columnname IS NULL

1 个答案:

答案 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。