У меня возникли проблемы с созданием сопоставления.(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;
}
}
Я должен создать отображение (с Fluent NHibernate), который будет отображать это на стол людьми, что-то вроде:
Person: Id: int, PK Name: string Books: string
Колонка Книги будет «сериализованным» представлением коллекции IList Books. Строка должна выглядеть примерно так:
Person: Id = 1 Name = "Bruno" Books = "Code Complete-960,The Hobbit-310"
В области моделирования я, у меня есть объект с большим количеством таких списков, и я хотел бы хранить каждый из списков в столбце, так как колонка Книги выше.
Я нашел (здесь в SO) некоторые вопросы, касающиеся того, как сопоставить IList с одним столбцом, указывая на реализацию StringListObjectType: IUserType, которая решает проблемы. Но это не решение моей проблемы.
Как я могу продолжить?
Спасибо!