Nhibernate中一對多對映 雙向關聯

2021-06-25 15:19:42 字數 1279 閱讀 2538

雙向關聯和單向關聯的區別是:兩邊都能維護關係,如我查詢兩邊的任何一邊,另外一邊的資訊也能查詢出來,其他的修改刪除只要設定了,也都可以。體現在**中是:因為上篇單向關聯是在dictionaryentity上,所以變為雙向關聯要在dictiontypeentity和他對應的xml檔案中加上關聯對映。

dictionaryentity修改為:

#region 實體屬性  

/// /// 型別

///

public virtual string type

/// /// 型別名稱

///

public virtual string typename

/// /// 時間戳

///

public virtual string timestamp

/// /// 操作使用者

///

public virtual string adduser

/// /// 字典實體list集合

///

public virtual ilistdictionaryentitys

#endregion

dictionaryentity對應的xml檔案:

<?xml version="1.0" encoding="utf-8" ?>

此時,如果我們查詢了

dictionaryentity的資訊,想知道dictionarytypeentity的value的資訊,只要

在dictionaryentity.dictionarytype.value就能查詢出來我們想要的值。如果我們想儲存dictionaryentity的信

息,我們得先例項化乙個

dictionarytypeentity,並賦值給dictionaryentity.dictionarytype。如下:

dictionarytypeentity endictionarytype=new dictionarytypeentity();

dictionaryentity endictionary=new dictionaryentity();

endictionary.dictionarytype=endictionarytype;

這樣就不會報「未對物件例項化」的錯誤了。這樣是不是簡單多了,避免以前的聯合查詢啥的了。

NHibernate一對多對映儲存資料

iset集合中,每個物件唯一。在nhibernate中,在父類中對應子類的iset集合時,因為set類為抽象類,所以不能例項化set類。isetlist new set 將報 無法建立抽象類或介面 iesi.collections.generic.set 的例項 錯誤。hashedset繼承於dic...

nhibernate原始碼分析之一 物件對映

1.持久物件對映檔案 關於持久物件對映檔案,這裡就不多說了,可參考nhibernate的例子和文件。2.對映資訊的讀取 通過configuration類,可以用多種方式讀取對映資訊,一些以add開頭的方法就是用來加入對映資訊的,這些方法最終將呼叫add xmldocument doc configu...

nhibernate原始碼分析之一 物件對映

1.持久物件對映檔案 關於持久物件對映檔案,這裡就不多說了,可參考nhibernate的例子和文件。2.對映資訊的讀取 通過configuration類,可以用多種方式讀取對映資訊,一些以add開頭的方法就是用來加入對映資訊的,這些方法最終將呼叫add xmldocument doc configu...