【问题标题】:Help with NHibernate queryNHibernate 查询帮助
【发布时间】:2011-01-25 20:06:33
【问题描述】:

我有 2 张桌子,Plan 和 Ticket。我想要 TravelPlan 中但 Ticket 中没有的所有记录。

    Template.Criteria.CreateCriteria("Plan")
              .Add(Subqueries.PropertyNotIn("UserID",
                                            DetachedCriteria.For(typeof(Ticket))
              .SetProjection(Projections.Property("UID")))); 

上面的查询没有返回任何记录..

【问题讨论】:

    标签: nhibernate nhibernate-criteria nhibernate-projections


    【解决方案1】:

    我无法猜测 SearchTemplate 的作用,但您将投影应用于外部条件而不是分离条件。

    此外,“根”标准应该是 TravelPlan,而不是 Ticket。

    换句话说:

    criteria = DetachedCriteria.For<TravelPlan>()
                   .Add(Subqueries.PropertyNotIn(
                            "UserId",
                            DetachedCriteria.For<Ticket>()
                                .SetProjection(Projections.Property("UID"))))
    

    这假定 TravelPlan 具有与 Ticket 中的 UID 属性匹配的 UserID 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-07
      • 2011-07-19
      相关资源
      最近更新 更多