(流利)NHibernate-映射IList<;MyClass>;单列

(流利)NHibernate-映射IList<;MyClass>;单列,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,我在创建映射时遇到了一些问题 假设人们读书: 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; }

我在创建映射时遇到了一些问题

假设人们读书:

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;
    }
}
类人:实体
{
公共虚拟字符串名称{get;set;}
公共虚拟IList书籍{get;set;}
/* ... */
}
类目:ValueObject
{
公共虚拟字符串名称{get;private set;}
公共虚拟整型页{get;private set;}
公共图书(字符串名称,整版)
{
名称=名称;
页数=页数;
}
公共重写字符串ToString()
{
返回名称+“-”+页;
}
}
我必须创建一个映射(使用Fluent NHibernate),将其映射到Persons表上,例如:

Person: Id: int, PK Name: string Books: string Person: Id = 1 Name = "Bruno" Books = "Code Complete-960,The Hobbit-310" 人: Id:int,PK 名称:string 书籍:细绳 Books列将是IList图书集合的“序列化”表示。一行应该类似于:

Person: Id: int, PK Name: string Books: string Person: Id = 1 Name = "Bruno" Books = "Code Complete-960,The Hobbit-310" 人: Id=1 Name=“布鲁诺” Books=“代码完成-960,霍比特人-310” 在我建模的领域中,我有一个包含许多这样列表的实体,我希望将每个列表存储在一个列中,就像上面的Books列一样

我发现了一些关于如何将IList映射到单个列的问题(这里是SO),指向解决这些问题的StringListObjectType:IUserType实现。但这并不能解决我的问题

我怎样才能继续


谢谢

我一直在处理同一个问题,看起来
IUserType
实际上解决了这个问题

查看我的问题(+答案):

我一直在处理相同的问题,看起来
IUserType
实际上解决了这个问题

查看我的问题(+答案):