とないのIList を一覧表示するために1対多の関係をマッピングするためにNHibernateのを伝える方法?

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

  •  23-08-2019
  •  | 
  •  

質問

私は何とか代わりに、インタフェースのIListの種類の一覧であるプロパティに私の1対多の関係をマッピングするためにNHibernateのを教えてください。

私はNHibernateのは、遅延読み込みのために、独自のIList-実装を使用していることを知っているが、私は、この機能は必要ありません。代わりに、私は私が代わりに具体的なリストクラスのIListインターフェイスを使用することによって達成することができない、直列化可能であるクラスを必要とします。

役に立ちましたか?

解決

簡単な答えはノーである、あなたはList<T>を使用するようにNHibernateを伝えることはできません。 には、より詳細にそれを説明し、この以前の質問ます。

最高の記事の私は、WCFのユーザーを対象としNHibernateのオブジェクトをシリアル化する上で見つけることができます。

他のヒント

あなたが本当にこれはあなたの唯一の現実的な選択肢を行う必要がある場合は、あなたのシリアル化の戦略を変更することがあります。

あなたはSystem.Runtime.SerializationでのDataContract属性ではなく、標準のシリアル化属性を使用することができます。これは、インタフェースのシリアル化をサポートします。

あなたは標準のシリアル化を使用する必要がある場合、あなたはあなたがシリアライズされることを望んで値を保存するための別のプロパティを使用することができますし、単にシリアライズでそれを移入ます:

//NHibernate property
public virtual IList<Entity> Entities
{
    get;
    set;
}

//Serialized property
public List<Entity> SerializedEntities
{
    get;
    set;
}

[OnSerializing]
void DoStuff(StreamingContext context)
{
    SerializedEntities = // Whatever you want to serialize...
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top