我是新手開發商....傳承 - 無法初始化代理 - 沒有會話
我真的需要幫助,在現在... 我只是得到在.net等 開始時與NHibernate的事我學習繼承並嘗試它......它讓我感到困惑......爲什麼我得到這樣的錯誤:
正在初始化[AP.Core.Domain.AccountPayable.APInvoice#API03/04/2010/001] -Could不初始化代理 - 沒有會話。
這是我的xml:
<class xmlns="urn:nhibernate-mapping-2.2" mutable="true" name="AP.Core.Domain.AccountPayable.APAdjustment, AP.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" table="APAdjustment">
<id name="AdjustmentNumber" type="System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="AdjustmentNumber" length="17" />
<generator class="assigned" />
</id>
<property name="Amount" type="System.Decimal, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="Amount" />
</property>
<property name="TransactionDate" type="System.DateTime, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<column name="TransactionDate" />
</property>
<many-to-one class="AP.Core.Domain.AccountPayable.APInvoice, AP.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" lazy="proxy" name="PurchaseInvoice">
<column name="PurchaseInvoice_id" not-null="true" />
</many-to-one>
<joined-subclass name="AP.Core.Domain.AccountPayable.APCreditAdjustment, AP.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" lazy="true" table="APCreditAdjustment">
<key>
<column name="APAdjustment_id" />
</key>
</joined-subclass>
</class>
</hibernate-mapping>
,這是繼承類:
父類 - >
public class APAdjustment
{
#region :FIELD
private string adjustmentNumber;
private decimal amount;
private DateTime transactionDate;
private APInvoice purchaseInvoice;
子類 - >
public class APCreditAdjustment : APAdjustment {
public APCreditAdjustment(){
,這我的數據訪問:
public IList<APAdjustment> GetByNameAll()
{
ICriteria criteria = Nhibernatesession.CreateCriteria(typeof(APAdjustment));
return criteria.List<APAdjustment>() ;
}
我的問題是:
當我加載與GridView的數據......它 工作......但我的屬性更改爲 autogenerate =「true」...我缺少 「PurchaseInvoice」字段...和我 更改爲手動綁定,它 works..when我編輯gridview ...我得到這個 錯誤...
初始化[AP.Core.Domain.AccountPayable.APInvoice#API03/04/2010/001] -Could 無法初始化代理 - 沒有會話
於是我改變我的XML ...懶惰=「無代理」...它仍然 工作...但是當再次編輯...我再次得到 錯誤..並且我做「評論輸出 選定的行」到我的 協會「多對一「...我真的 的作品..但那不是我想...
可以任意人幫我...... ?? Plizz ... :(
注意:我差點忘記了, ..所以我工作到XML NHibernate的...不流利的冬眠的事情... :)
我不知道哪樣品/ DOC您使用的學習NH。該映射有一些可以改進的地方。 NH使用屬性,並且這些屬性必須是虛擬的,因爲NH創建了它們的代理。我建議你把完整的代碼(不只是一個部分)和會看到。 – Marcote 2010-06-10 01:37:52
對不起...我忘了告訴你...我的所有代碼已成爲虛擬財產...沒有虛擬...我的代碼無法運行... 這是我的代碼的一部分: 公共虛擬字符串AdjustmentNumber { get {return adjustmentNumber; } set {adjustNumber = value; } } 公共虛擬小數金額 { get {return amount; } set {amount = value; } } public virtual DateTime TransactionDate { get {return transactionDate; } set {transactionDate = value; } } public virtual APInvoice PurchaseInvoice { get {return purchaseInvoice; } set {purchaseInvoice = value; }} 如何 – Ninu 2010-06-10 07:52:26
你的會話處理 - 這種情況發生時,通常如果NHibernate的試圖延遲加載的屬性和會話消失了..所以,請給我們介紹一下Nhibernatesession – bernhardrusch 2010-06-10 08:14:35