Nhibernate 如何返回与另一个表不匹配的行?

Nhibernate 如何返回与另一个表不匹配的行?,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我正在使用fluent nhibernate和nhibernate 3.1,我想知道如何进行查询以返回在另一个表中不匹配的结果 假设我有表A中的5条记录和表B中的3条记录。现在,表A中的3与表B中的3相匹配 所以我想返回这两行,因为它们不在表B中。我看到的所有连接似乎都在寻找匹配项并返回匹配项。我想基本上返回差异 如果说我有表a中的5条记录和表B中的100条记录,但表a中的任何记录都不匹配,我想返回表a中的所有记录。我不确定我回答的问题是否正确,您的描述似乎有点模糊 有两种方法可以解决这个问题

我正在使用fluent nhibernate和nhibernate 3.1,我想知道如何进行查询以返回在另一个表中不匹配的结果

假设我有表A中的5条记录和表B中的3条记录。现在,表A中的3与表B中的3相匹配

所以我想返回这两行,因为它们不在表B中。我看到的所有连接似乎都在寻找匹配项并返回匹配项。我想基本上返回差异


如果说我有表a中的5条记录和表B中的100条记录,但表a中的任何记录都不匹配,我想返回表a中的所有记录。

我不确定我回答的问题是否正确,您的描述似乎有点模糊

有两种方法可以解决这个问题

我想最简单、最简单的方法是使用SQL查询:

字符串sqlQuery=Select*fromtablenamea其中A.field不在Select b.fieldfromtablenameb中

结果=对象session.ExecuteSQLsqlQuery


请记住,我是凭记忆做这件事的,我知道做这件事的设施是存在的。。。可能不会花你一两分钟的时间去弄清楚

@Gary-基本上,我试图通过id ifTableA.id==TableB.id{continue;}else{return back;}比较表A和表B中的行。因此,如果两个表都有相同的id,我不希望返回该结果,我只希望返回在表A中找不到但在表B中显示的结果。我希望这更有意义。好的,在你的存储库中,你应该能够查询它。您正在使用HQL/SQL吗?记住,我相信有更好的方法。。。但我相信这会奏效。。。否则加载这两个集合并在域逻辑中执行。。。因此,我认为上面的sql位实际上会起作用…@Gary-HQL,如果可能的话,我想尝试在一个查询中执行。好的,如果您使用的HQL已经只使用了一个标准的sql字符串。。。看看这是否有效,然后是否值得花时间将其转换为HQL。。。我想我已经回答了这个问题。。。你试过这么做吗?对不起,我是说询问。我正在尝试将所有内容都更改为QueryOver,而不是混合使用所有内容。