1

如果我有以下(为简洁起见)

public class TempCartMap : ClassMap<TempCart>
{
   Id(x => x.Id).GeneratedBy.Identity();
   Map(x => x.Products); // < This one
}

[Serializable]
public class TempCart {

  public TempCart(){
    Products = new List<int>();
  }

  public virtual IList<int> Products { get; set; }

}

我看过(http://www.philliphaydon.com/2012/06/using-nhibernate-with-servicestack/)和(http://www.philliphaydon.com/2012/03/ormlite-blobbing-done -with-nhibernate-and-serialized-json/),但是是否有一种更短、更简单、更快的方法让 NHibernate 像上面那样对列进行序列化和反序列化。创建一个新的 IUserType 类等似乎有点矫枉过正。

4

1 回答 1

1

您还可以将 Products-list 存储为单独的表:

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")
    ;
}

只是为了澄清这个问题:是否有理由不这样做?

于 2012-07-09T12:56:22.237 回答