Fluent NHibernate References()マッピングでReadOnlyを設定できないのはなぜですか?
-
03-07-2019 - |
質問
Fluent NHibernateでは、References()は 'ReadOnly()'メソッドをサポートしないオブジェクトを返します。
この種のマッピング(つまり、更新が参照先アイテムに伝達されないマッピング)を作成しようとしています:
<many-to-one update="false" insert="false"
name="DestinationSheet" column="DestinationSheetNumber" />
通常の(map())マッピングでは、これらの2つの属性はReadOnly()で設定できます。
次のようなことをしたい:
References(x => x.DestinationSheet).
ColumnName("DestinationSheetNumber").ReadOnly();
SetAttributes()を使用して手動で更新および挿入属性を追加できますが、これは正常に機能しますが、ReadOnly()がReferences()に存在しないという事実は、試してはならない手がかりであることが心配ですこれを行うには。
ReadOnly()がこのコンテキストで利用できない理由を誰もが知っていますか?
解決
まだ実装されていません。やがて、NHibernateのすべての機能をサポートするようになりますが、それまでは SetAttribute
メソッドを使用して続行できます。
余談ですが、パッチを受け入れます!
他のヒント
Referencesは、多対1マッピングとドキュメントによると、このマッピングでは読み取り専用はサポートされていません。更新とfalseの挿入の設定のあなたのアプローチは、私に直接聞こえます。 AFAIK、Fluent NHibernateプロジェクトは、NHibernateのすべてのマッピング機能をサポートする予定ですが、それまではSetAttributesを使用する必要があります。
ジェームズ・グレゴリーが提供する答えの実装は
References(x => x.Store).TheColumnNameIs("StoreId").SetAttribute("update","false");
所属していません StackOverflow