【问题标题】:Nhibernate Linq is null on left joinNhibernate Linq 在左连接时为空
【发布时间】:2014-03-25 15:26:39
【问题描述】:

是否有一种简单的方法来执行以下 Nhibernate Linq 语句

var query = from r in myTable.Query<MyTable>()
            where r.Child == null
            select r

上面的 linq 查询产生类似于

SELECT MyTable.Id FROM MyTable WHERE MyTable.ChildId is null

它不引用子表并检查左连接是否为空,如下所示

SELECT MyTable.Id FROM MyTable 
      LEFT JOIN ChildTable ON MyTable.ChildId = ChildTable.Id
WHERE ChildTable.Id is null

【问题讨论】:

  • 您使用哪个版本的 NHibernate?
  • 我使用的是 Nhibernate 3.3

标签: c# linq nhibernate


【解决方案1】:
var query = from r in myTable.Query<MyTable>()
        where r.Child.Id == null
        select r

【讨论】:

  • 没想到它会工作,因为孩子的 id 是一个 int,但嘿它确实做到了。谢谢
  • 在执行此操作之前需要添加“#pragma warning disable CS0472”(并在之后恢复)
猜你喜欢
  • 2012-03-06
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多