0
我有以下域實體對象:流利-的NHibernate ICompositeUserType爲域實體對象
public class Report
{
public virtual int Id { get; set; }
public virtual int Score { get; set; }
public virtual EntityType Type { get; set; }
public virtual Object Entity { get; set; }
}
public class Category
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
public class Topic
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
Report.Entity可以是一個類別或一個主題。類型由Report.Type指示。 EntityType是一個枚舉。目標是能夠使用fluent-nhibernate保存報告類。我相信我可以用ICompositeUserType,這會給我下實現這一點:
public class Report
{
public virtual int Id { get; set; }
public virtual int Score { get; set; }
public virtual EntityCompositeUserType Entity { get; set; }
public virtual EntityType Type { get; set; }
}
我的問題是:是否有可能在該EntityCompositeUserType類的NullSafeGet方法返回一個域實體對象(無論是分類或主題)?所有我見過的ICompositeUserType的例子都是從當前表中的列(在我的情況下,從Report表中的列)中創建一個新對象。我看到一個提到使用來自多個表的列,但沒有看到它的實現。
謝謝,我還沒有得到又嘗試了這一點的機會,但它看起來很有希望。一旦我有機會實施它,我會鏈接回去。 – oonyalo 2012-08-02 18:09:42
這工作,謝謝。 – oonyalo 2012-10-10 16:11:45