域名:功能NHibernate自動映射與覆蓋:映射未映射的基類集合
public class BaseClassClient
{
public virtual ICollection<BaseClass> BaseObjects{ get; set; }
}
public abstract class BaseClass
{
}
public class SubClass1 : BaseClass
{
}
public class SubClass2 : BaseClass
{
}
我得到的錯誤Association references unmapped class
,即使兩個子類映射。顯然,基類本身沒有被映射。請建議如何解決這個問題。
編輯
我寧願,關閉了一個問題,重複到另一個之前,他們只是不讀了,還在乎瞭解雙方的問題。我看過Error: fluent NHibernate mapping which references mapping in different assembly這個問題。但它談到了一個不同的場景。
我的場景如下所示。
public class Product
{
public int Id { get; set; }
public ICollection<BasePricingRule> PricingRules{ get; set; }
}
public abstract class BasePricingRule
{
public int Id { get; set; }
//other properties
}
//Several concrete classes inherit from BasePricingRule.
我想每個具體類有一個表,沒有基類表。因此,BasePricingRule
沒有映射。我允許類自動映射,偶爾提供必要的覆蓋。我爲產品類創建了一個自動映射覆蓋,如下所示。
public void Override(FluentNHibernate.Automapping.AutoMapping<Product> mapping)
{
mapping.HasMany(product => product.PricingRules); //Not really sure
// about how to map this.
}
我一直在看到像http://ayende.com/blog/3941/nhibernate-mapping-inheritance這樣的繼承映射的例子。但這些例子實際上並沒有解決我所面臨的問題。不止這個錯誤,我想知道如何通過流利的NHibernate映射這個域,最好使用自動映射覆蓋。
請發表您的配置,你的流利測繪地圖組件?檢查這個帖子http://stackoverflow.com/a/6227248/1225337 –
是的,我做到了。類型映射不是這裏的問題。我沒有映射基類的類型,但只有我希望有一個表的具體子類型。您指向的鏈接不解決這種繼承問題。 –