簡體   English   中英

通用對象的映射集合 nHibernate

[英]Mapping Collection of generic objects nHibernate

所以,我堅持這個設置......假設是一個 class 有一個孩子名冊,有兩種類型的孩子:男孩和女孩

public class ClassRoster
{
public IList<Child> Children{get;set;}
}

public abstract class Child
{
public string Sex {get;}
}

pubic class Boy
: Child
{
public override string Sex { get { return "M"; } }
}

public class Girl
: Child
{
public override string Sex { get { return "F"; } }
}

(很可能,這是一個不好的例子)...當我 go 從數據庫中檢索子項列表時,我是否需要為集合指定鑒別器值,或者 nHibernate 可以使用我為子項完成的映射/男孩/女孩已經?

我之所以這樣,是因為當我為我正在處理的項目執行類似操作時,我收到了從 nHibernate 拋出的“WrongClassException”。


我覺得這還不夠清楚。 在我的項目中,我已經處理了可以調用到數據庫中的映射,並提取了一個兒童列表,並按預期映射了男孩和女孩。 我想做的是打電話給 class 名冊,並獲得一份孩子名單,其中包含所有男孩和女孩。

我相信你要找的是NHibernate - Inheritance 映射

結果是愚蠢的事情。 我沒有考慮到第 3 級,問題是 ClassRoster 和學校之間的映射......我必須進行一對一映射以鏈接到“學校”而不是“高中” ”。

如果我可以足夠概括代碼,我會把它貼在這里以供進一步參考……老實說,這是一個 pebcak 錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM