【问题标题】:Fluent NHibernate - Query over a derived classFluent NHibernate - 查询派生类
【发布时间】:2011-10-03 18:31:41
【问题描述】:

假设我有两个类:

public class A
{
  public virtual int Id { get; set; }
  public virtual Object1 Obj { get; set; }
}

public class B : A
{
  public new virtual Object2 Obj { get; set; }
}

我使用 Fluent NHibernate,并为这两个类创建了两个不同的映射。但是,当我尝试在我的存储库中查询 A 类时,FNH 会同时找到 B 类和 A 类,这是有道理的,因为它们都是 A。

示例(此条件将同时查询 A 和 B):

public List<T> GetByName(string name)
{
  return Session.CreateCriteriaOf<A>.Add(Restrictions...);
}

在写CreateCriteriaOf&lt;A&gt;时,我只想查询A而不是B。我该如何解决我的问题?

【问题讨论】:

    标签: c# fluent-nhibernate


    【解决方案1】:

    我认为您最好创建一个继承树,其中 A 和 B 都派生自一个通用(抽象)基本类型。然后 NHibernate 可以通过 discriminator column 来区分。

    当然,您的数据模型应该适应这一点,所以我希望您的模型没有以任何方式规定。

    【讨论】:

      猜你喜欢
      • 2012-04-29
      • 1970-01-01
      • 1970-01-01
      • 2010-10-23
      • 1970-01-01
      • 2010-12-09
      • 2018-04-16
      • 1970-01-01
      相关资源
      最近更新 更多