我一直在使用 SubSonic.Query,直到有一天我无法通过添加 WHERE 来执行“IS NULL”,然后我意识到 SubSonic.SqlQuery 存在并且它具有“IsNull()”的功能。查了源码,Query和SqlQuery并没有以任何方式继承,那么它们的主要区别是什么,如何决定使用哪个呢?
编辑:我刚刚意识到我实际上可以通过使用“Comparison.Is”来执行“IS NULL”。这让我更加困惑,因为 SqlQuery 和 Query 几乎可以做同样的事情
SqlQuery 是在 2.1 版中添加的。它大大优于 Query,因为它支持 null 并且特别是 join。这是一篇涵盖它的帖子(当时称为 Query2)或查看我的3 部分系列,了解我如何使用 SubSonic。
我不确定您的目标是什么数据库,但 IsNull 方法对于 Oracle 提供程序无法正常工作。我必须修改几行才能让它在我的机器上工作。