私は最近Fluent NHibernate 1.1から1.0に移行しました。移行にはいくつかの大きな変更があります。例えば流行NHibernateの読み込み専用プロパティのマッピング
、任意の構成/規則を指定せずに正常に動作するために使用
public virtual string CustomerType
{
get { return /*computed value based on _Type which is a column in database */; }
}
public virtual string MemberType
{
get { return _Type; }
set { _Type = value; }
}
のようなドメインモデル内のフィールド。今度は "setterを見つけることができませんでした"というエラーが表示されます。私はcustomerTypeや_customerTypeのようなメンバ変数を作成するか、保護されたセッタに入れるという点で解決策を見ています。
CustomerTypeは、データベースから取得した別の値に依存することに注意してください。
私はまたDefaultAutoMappingConfigurationのような
public override bool ShouldMap(Member member)
{
if (member.IsProperty && !member.CanWrite)
{
return false;
}
return base.ShouldMap(member);
}
上書きされ http://support.fluentnhibernate.org/discussions/help/269-fluentnhibernate-11-automapper-doesnt-accept-read-only-properties-anymoreのような代替案を見てきました。しかし、これは完全にマッピングでスキップしているプライベートまたは保護されたセッターと他のフィールドを意味します。
私はFluent NHibernateが指定されていないときにセッターを探すのではなく、プライベート/プロテクトされたセッターをマッピングするソリューションを探しています。
これについてはどのように進むべきでしょうか?
はい。これは、データベース内の列から派生した値です。私も同様に質問を更新しました。 – WorldIsRound