2009-08-27 6 views
2

マッピングを作成する際に問題があります。(Fluent)NHibernate - IList <MyClass>を単一の列にマッピングします。

のは、人が本を読むことを言ってみましょう:

class Person : Entity 
{ 
    public virtual string Name { get; set; } 
    public virtual IList<Book> Books { get; set; } 
    /* ... */ 
} 

class Book : ValueObject 
{ 
    public virtual string Name { get; private set; } 
    public virtual int Pages { get; private set; } 

    public Book(string name, int pages) 
    { 
     Name = name; 
     Pages = pages; 
    } 

    public override string ToString() 
    { 
     return Name + "-" + Pages; 
    } 
} 

私は人のテーブルの上にこれをマッピングします(流暢NHibernateのと)マッピングを作成しなければならない、のようなもの:

 
Person: 
    Id: int, PK 
    Name: string 
    Books: string 

本コラムIList Booksコレクションの「シリアライズされた」表現になります。私は、私は多くのそのようなリストを持つエンティティをモデリングを持っていたドメインで

 
Person: 
    Id = 1 
    Name = "Bruno" 
    Books = "Code Complete-960,The Hobbit-310" 

、と私は本コラムのように、カラム内の各リストを保存したいと思います:行は次のようになります上記。

私は、IListを単一の列にマップする方法を扱ういくつかの質問を見つけました。問題を解決するStringListObjectType:IUserTypeの実装を指しています。しかし、これは私の問題の解決策ではありません。

どうすればいいですか?

ありがとうございます!

答えて

関連する問題