I am a newbie to programming Windows forms application. I am stuck with an error for the past 2 days. I had a method
添加()`在Base DAO層NHibernate.AssertionFailure做transaction.Commit()是什麼意思?
public virtual void Add(T entity)
{
try
{
DomainObject domObj = entity as DomainObject;
if (domObj != null)
{
domObj.CreatedDate = domObj.LastModifiedDate = DateTime.Now.ToUniversalTime();
}
using (ITransaction transaction = GetTransaction)
{
_session.Save(entity);
//******* _session.SaveOrUpdate(entity);
// _session.Refresh(entity);
//transaction.Commit();
}
}
我試圖transaction.Commit()
移動到在Base DAO層一個單獨的方法。
public virtual void Commit(T entity)
{
using (ITransaction transaction = GetTransaction)
{
transaction.Commit();
}
}
我已對其餘層進行了相應的更改。現在,當我運行應用程序並將數據輸入到表單時,我得到此異常(NHibernate.AssertionFailure)。請幫忙。
這是MarketScenario實體類代碼:
namespace RKG.SCM.ModelObjects
{ 公共類MarketScenarioModel { 公共MarketScenarioModel(){}
public MarketScenarioModel(string selectedMarketIds)
{
this.MarketIdList = selectedMarketIds;
}
public virtual int Id { get; set; }
public virtual ScenarioModel ScenarioModel { get; set; }
public virtual string MarketIdList { get; set; }
}
} 而這正是MarketScenario NHibernate的映射:
命名空間RKG.SCM.NHibernate。映射{
public class MarketScenarioMap : ClassMap<MarketScenario> {
public MarketScenarioMap() {
Table("market_scenario");
LazyLoad();
Id(x => x.Id).GeneratedBy.Identity().Column("id");
References(x => x.Scenario).Column("scenario_id");
Map(x => x.MarketIdList).Column("market_id_list");
}
}
}
什麼例外? – JonasCz 2015-04-03 11:42:02
AssertionFailure在RKG.SCM.DomainObjects.MarketScenario條目中未處理的空ID(在發生異常後不刷新會話) – Arya 2015-04-03 11:44:01