Я разработчик новичку ....Наследование - не удалось инициализировать прокси - не сессии
я действительно нужна помощь в сейчас ... я просто начать с NHibernate вещь на .Net ... когда я узнаю Наследование и попробую ... это заставляет меня сбивать с толку ... почему я получаю такую ошибку:
Инициализация [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" ... i missing Поле "PurchaseInvoice" ... и i изменить для привязки вручную, и это works..when я редактирую это gridview ... я получаю это ошибка ...
Инициализация [AP.Core.Domain.AccountPayable.APInvoice # API03/04/2010/001] Не могли бы не инициализировать прокси - не сессии
так, то я изменить XML ... lazy = "no-proxy" ... это все еще Работа ... но когда редактирование снова ... я получаю ошибка снова .. и я делаю "Комментарий из выбранных строк" в мою ассоциацию " Много-к-одному «... я действительно работает ... но это не я хочу ...
МОЖЕТ НИКТО ПОМОГИТЕ МНЕ ... ?? плизз ... :(
Примечание: Я почти забыл его, я использую свободно спящий режим для создания в database.From беглом Hibernate ..Я поместить файл * .xml. ..so я работаю с xml NHibernate ... не беглый спящий предмет ... :)
Интересно, какой образец/документ вы используете, чтобы узнать NH. У карт есть вещи, которые можно улучшить. NH использует свойства, и они должны быть виртуальными, потому что NH создает их прокси. Я предлагаю вам поставить полный код (а не только часть), и он увидит. – Marcote
Прошу прощения ... я забыл рассказать вам ... весь мой код стал виртуальной собственностью ... без виртуального ... мой код не может работать ... это часть моего кода: public virtual string AdjustmentNumber { get {return adjustmentNumber; } set {adjustNumber = value; } } общедоступный виртуальный decimal Сумма { get {сумма возврата; } set {amount = value; } } public virtual DateTime TransactionDate { get {return transactionDate; } set {transactionDate = значение; } } общедоступный виртуальный APInvoice PurchaseInvoice { get {return purchaseInvoice; } set {purchaseInvoice = value; } } – Ninu
Как работает ваша обработка сеансов - это происходит нормально, если NHibernate пытается ленить загрузить свойство, и сеанс ушел. Поэтому, пожалуйста, дайте нам дополнительную информацию о Nhibernatesession – bernhardrusch