私たちは最近Automapped FNH/NHプロジェクトをNH 3.2にアップグレードし、多くの問題に取り組んでいます。NHibernate 3.2 - すべてのプロパティに "set"メソッドが必要ですか?
オブジェクトモデルには「ゲッター」しかない多くのプロパティがあります。
public virtual float Polydispersity
{
get { return MeasurementRun.PolyDispersity; }
}
これは正常に動作するために使用されるが、今はエラー「プロパティのセッターが見つかりませんでした」を得ます。
何らかの理由でオートメーションが自動的にDBテーブルを作成できなかったため、DBに保存するときに「維持不能」エラーが発生しました。詳細はthisを参照してください。
これはLinFuがNHに組み込まれているためですか?私はプライベートセッターがもう動作しないことを知っています、そして、これは同様の問題であるようです。
私は城を使用していましたが、私は実際にNHが他のDLLをすべて必要としないことを願っていますが、私たちのオブジェクトモデルの大きな部分を壊してしまうわけではありません。
これを回避する方法についてのご意見はありますか?
スタックトレース
FluentNHibernate.Cfg.FluentConfigurationException:SessionFactoryの作成中に無効または 不完全な構成が使用されました。 PotentialReasonsコレクションをチェックし、詳細についてはInnerExceptionを確認してください。
---> NHibernate.PropertyNotFoundException:プロパティのセッター クラス の '多分散性' を見つけることができませんでした 'BI_OverlordDlsAppCore.OfeDlsMeasurement' NHibernate.Properties.BasicPropertyAccessor.GetSetter(タイプtype、 文字列プロパティ名)でNHibernateので NHibernate.Tuple.Entity.AbstractEntityTuplizer..ctor(entityMetamodel entityMetamodel、PersistentClass mappingInfo)で NHibernate.Tuple.Entity.PocoEntityTuplizer.BuildPropertySetter(プロパティ mappedProperty、PersistentClass mappedEntity)で.Mapping.Property.GetSetter(タイプ clazz) at NHibernate.Tuple.Entity.Po NHibernate.Tuple.Entity.EntityMetamodel..ctor(PersistentClass persistentClass、ISessionFactoryImplementorで NHibernate.Tuple.Entity.EntityEntityModeToTuplizerMapping..ctor(PersistentClass mappedEntity、EntityMetamodel EM)でcoEntityTuplizer..ctor(EntityMetamodel entityMetamodel、PersistentClass mappedEntity) NHibernate.Persister.Entity.JoinedSubclassEntityPersister..ctor(PersistentClass persistentClassで NHibernate.Persister.Entity.AbstractEntityPersister..ctor(PersistentClass persistentClass、ICacheConcurrencyStrategyキャッシュ、 ISessionFactoryImplementor工場)でのSessionFactory)、ICacheConcurrencyStrategyキャッシュ、 ISessionFactoryImplementまたは工場は、 NHibernate.Impl.SessionFactoryImpl..ctor(設定CFGで NHibernate.Persister.PersisterFactory.CreateClassPersister(PersistentClass モデル、ICacheConcurrencyStrategyキャッシュ、ISessionFactoryImplementor 工場、IMappingのCFG)、IMapping マッピングでマッピング)をIMapping、設定値を設定します、EventListenersリスナー)。 NHibernate.Cfg.Configuration。 Cで FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory BI_OverlordPackageCore.OfeDatabase.CreateSqliteSessionFactory(AT FluentNHibernate.Cfg.FluentConfiguration.BuildSessionFactory()で内部例外スタックトレースの()--- エンド---)でBuildSessionFactory() :Bicw_Dev \ Bic.Net \ Private Projects \ NHibernate \ FNH 1.3マッピング Bug \ OfeDatabase.cs: の行192、BI_OverlordPackageCore.OfeDatabase.GetMainSession()、 C:\ Bicw_Dev \ Bic.Net \ Private Projects \ NHibernate \ FNH 1.3マッピング Bug \ OfeDatabase.cs:行147: BI_OverlordPackageCore.OfeDatabase.Initialize(アセンブリ[]アセンブリ) C:\ Bicw_Dev \ Bic.Net \ Private Projects \ NHibernate \ FNH 1.3マッピング バグの\ OfeDatabase.cs:\ Bicw_Dev \ Bic.Net民間プロジェクト\ \ NHibernateは\ FNH 1.3マッピング バグ\ Form1.csを: FNH_1._3_Mapping_Bug.Form1.button1_Click(オブジェクト送信者、EventArgsの電子)Cで でライン305 :行23 でSystem.Windows.Forms.Button.OnMouseUp(MouseEventArgsのmevent)で System.Windows.Forms.Button.OnClick(のEventArgs e)に System.Windows.Forms.Control.OnClick(のEventArgs電子)で System.Windows.Forms.ButtonBase.WndProc(メッセージで System.Windows.Forms.Control.WndProc(メッセージ& M)でSystem.Windows.Forms.Control.WmMouseUp(メッセージ& M、MouseButtons ボタンのInt32はクリック) &m) でSystem.Windows.Forms.Control.ControlNativeWindow.WndProcで System.Windows.Forms.Control.ControlNativeWindow.OnMessage(メッセージ& M) でSystem.Windows.Forms.Button.WndProc(メッセージ& M)(メッセージ& M)System.Windows.Forms.NativeWindow.Callbackで(のIntPtrのhWnd、のInt32 MSG、のIntPtr WPARAM、LPARAMのIntPtr)
多くの取得専用プロパティを持つNHibernate 3.2.0.GAを使用していて、うまくいきます。完全な例外メッセージとスタックトレースを投稿してください。 – cremor
@cremor - スタックトレースを追加しました –