Nhibernate 如何存储可序列化列表<;int>;氟代纤维酸盐

Nhibernate 如何存储可序列化列表<;int>;氟代纤维酸盐,nhibernate,fluent-nhibernate,fluent-nhibernate-mapping,Nhibernate,Fluent Nhibernate,Fluent Nhibernate Mapping,如果我有以下内容(为简洁起见,请删节) 公共类TempCartMap:ClassMap { Id(x=>x.Id).GeneratedBy.Identity(); 映射(x=>x.Products);//x.Id).GeneratedBy.Identity(); 有很多(x=>x.Products) .元素(“产品编号”) .KeyColumn(“临时购物车id”) .表格(“临时购物车产品”) ; } 只是想澄清一个问题:不需要这样做有什么原因吗?您也可以将产品列表存储为一个单独的表: pu

如果我有以下内容(为简洁起见,请删节)

公共类TempCartMap:ClassMap
{
Id(x=>x.Id).GeneratedBy.Identity();
映射(x=>x.Products);//<这一个
}
[可序列化]
公共类临时购物车{
公共临时购物车(){
产品=新列表();
}
公共虚拟IList产品{get;set;}
}
我已经研究了()和(),但是有没有一种更简短、更简单、更快的方法让NHibernate像上面那样序列化和反序列化列。
创建新的IUserType类等似乎有些过分。

您也可以将产品列表存储为单独的表:

public class TempCartMap : ClassMap<TempCart>
{
    Id(x => x.Id).GeneratedBy.Identity();

    HasMany(x => x.Products)
        .Element("product_number")
        .KeyColumn("temp_cart_id")
        .Table("temp_cart_products")
    ;
}
公共类TempCartMap:ClassMap
{
Id(x=>x.Id).GeneratedBy.Identity();
有很多(x=>x.Products)
.元素(“产品编号”)
.KeyColumn(“临时购物车id”)
.表格(“临时购物车产品”)
;
}

只是想澄清一个问题:不需要这样做有什么原因吗?

您也可以将产品列表存储为一个单独的表:

public class TempCartMap : ClassMap<TempCart>
{
    Id(x => x.Id).GeneratedBy.Identity();

    HasMany(x => x.Products)
        .Element("product_number")
        .KeyColumn("temp_cart_id")
        .Table("temp_cart_products")
    ;
}
公共类TempCartMap:ClassMap
{
Id(x=>x.Id).GeneratedBy.Identity();
有很多(x=>x.Products)
.元素(“产品编号”)
.KeyColumn(“临时购物车id”)
.表格(“临时购物车产品”)
;
}

只是为了澄清这个问题:这是不需要的原因吗?

只是根据(我在那篇文章中做了一个更正,因为它说的是一个元素不是元素)序列化位仍然很有意思,但您的权利是,它“应该”很好地映射到另一个表,但目前它抛出了“System.Int32没有持久化器”我遇到的主要问题是关于Perssence规范测试()的问题,结果表明,这种绑定不起作用。当时愚蠢的浪费时间的错误:)写了一个不同的测试,并将该列从持久性规范测试中删除。只是根据(我在那篇文章中做了一个更正,因为它说的是一个元素不是元素)序列化位仍然感兴趣,但您的权利是它“应该”很好地映射到另一个表,但目前抛出“No persister for:System.Int32”。我遇到的主要问题是关于perssence规范测试()的问题,结果表明这种绑定不起作用。当今愚蠢的浪费时间的错误:)编写了一个不同的测试,并将该列排除在持久性规范测试之外。