私は来週までに自分のコンピュータを蹴る前に...NHibernate.AssertionFailure:ヌル識別子
私はこれについて、すべての他の質問をチェックアウトしましたが、それらのどれも解決策を持っていません。このコードはすぐに取り除かれましたが、まだ動作していません。 NHibernate.AssertionFailure:ヌル識別子
これは私のマッピングファイルされる:オブジェクトを保存するとき
私はこのエラーを取得してい
public class Order
{
public virtual int Id { get; protected set; }
}
:
public class OrderMap : BaseMap<Order>
{
public SalesOrderMap()
{
Id(x => x.Id).Column("OrderId");
}
}
これが実体でありますこれは私のテストコードです:
Order order = new Order();
ISession session = SessionFactory.GetCurrentSession();
session.SaveOrUpdate(order); <----EXCEPTION ON THIS LINE
session.Flush();
そして強打...それは誰もが興味を持っていた場合、これはセッションファクトリを構築する方法です
[AssertionFailure: null identifier]
NHibernate.Engine.EntityKey..ctor(Object identifier, String rootEntityName, String entityName, IType identifierType, Boolean batchLoadable, ISessionFactoryImplementor factory, EntityMode entityMode) +135
NHibernate.Engine.EntityKey..ctor(Object id, IEntityPersister persister, EntityMode entityMode) +70
NHibernate.Event.Default.AbstractSaveEventListener.PerformSaveOrReplicate(Object entity, EntityKey key, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess) +545
NHibernate.Event.Default.AbstractSaveEventListener.PerformSave(Object entity, Object id, IEntityPersister persister, Boolean useIdentityColumn, Object anything, IEventSource source, Boolean requiresImmediateIdAccess) +322
NHibernate.Event.Default.AbstractSaveEventListener.SaveWithGeneratedId(Object entity, String entityName, Object anything, IEventSource source, Boolean requiresImmediateIdAccess) +130
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.SaveWithGeneratedOrRequestedId(SaveOrUpdateEvent event) +27
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.EntityIsTransient(SaveOrUpdateEvent event) +63
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.PerformSaveOrUpdate(SaveOrUpdateEvent event) +89
NHibernate.Event.Default.DefaultSaveOrUpdateEventListener.OnSaveOrUpdate(SaveOrUpdateEvent event) +188
NHibernate.Impl.SessionImpl.FireSaveOrUpdate(SaveOrUpdateEvent event) +259
NHibernate.Impl.SessionImpl.SaveOrUpdate(Object obj) +256
を破る:
ControllerSource.SessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(DataConfig.ConnectionString))
.Mappings(x => x.FluentMappings.Add(typeof (OrderMap)))
.ExposeConfiguration(c =>{
c.SetProperty("generate_statistics", "false");
c.SetProperty("current_session_context_class", contextClass);
c.SetProperty("cache.use_second_level_cache", "false");
c.SetProperty("cache.use_query_cache", "false");
c.SetProperty("connection.release_mode", "on_close");
})
.BuildSessionFactory();
注文テーブルの作成スクリプトを転記できますか? – twaggs
現在のところ、フィールドは、自動インクリメント、int、ヌル入力可能ではありません – Paul
(私はちょっとした枕だったと思いますが.......) – Paul