Fluent NHibernate References()マッピングでReadOnlyを設定できないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/802940

  •  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");
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top