流畅的NHibernate自动忽略基类集合

时间:2015-12-13 18:19:32

标签: c# nhibernate fluent-nhibernate automapping

在下面的示例中,获取类型NewProduct或OldProduct时,ID属性会正确映射,但Orders集合不会。

public abstract class ProductBase
{
    //Get's mapped
    public int? ID
    {
        get;
        set;
    }
    //does not get mapped
    public virtual IList<Order> Orders
    {
        get;
        set;
    }   
}

public class NewProduct : ProductBase
{
    ... 
}
public class OldProduct : ProductBase
{
    ...
}

当我将该集合添加到NewProduct&amp; OldProduct,一切正常:

public class NewProduct : ProductBase
{
    public override IList<Order> Orders
    {
        get;
        set;
    }   
}
public class OldProduct : ProductBase
{
    public override IList<Order> Orders
    {
        get;
        set;
    }   
}

看起来像所有属性,但是集合中的属性从基类中正确映射。现在,当我通过显式覆盖设置映射时,它可以工作。

.Override<NewProduct>(x => x.HasMany<Order>(y => y.Orders))
.Override<OldProduct>(x => x.HasMany<Order>(y => y.Orders))

因此,我希望自动映射无需在NewProduct&amp;上定义该集合。 OldProduct而不必进行覆盖。

有什么想法吗?

0 个答案:

没有答案