“我如何绘制地图?”;“对象”;fluent nhibernate中的类型属性
我编写了类及其映射,但当我想运行项目时,引发了以下错误:“我如何绘制地图?”;“对象”;fluent nhibernate中的类型属性,nhibernate,fluent-nhibernate,mapping,Nhibernate,Fluent Nhibernate,Mapping,我编写了类及其映射,但当我想运行项目时,引发了以下错误: property mapping has wrong number of columns: Azarakhsh.Domain.HumanResource.Personnel.Core.AdditionalValue.Value type: Object 我的类和映射代码如下: public partial class AdditionalValue : PersistentObject { virtual public Obje
property mapping has wrong number of columns: Azarakhsh.Domain.HumanResource.Personnel.Core.AdditionalValue.Value type: Object
我的类和映射代码如下:
public partial class AdditionalValue : PersistentObject
{
virtual public Object Value { get; set; }
}
public class AdditionalValueMap : ClassMap<AdditionalValue>
{
public AdditionalValueMap()
{
Map(p => p.Value)
.CustomSqlType("sql_variant");
}
}
public分部类附加值:PersistentObject
{
虚拟公共对象值{get;set;}
}
公共类AdditionalValueMap:ClassMap
{
公共附加值映射()
{
映射(p=>p.Value)
.CustomSqlType(“sql_变体”);
}
}
您希望将System.Object持久化到哪里
如果是通过序列化它,您应该使用
Serializable
作为NH类型,并使用varbinary(max)
作为SQL。我有一个属性是“object”,用户定义了它的类型。所以我的道具可能是一个整数或字符串或浮点或。甚至它可能是一个int或其他任何东西的通用列表。那么我能做什么呢?所以我写的是最简单的方法,但它不会使用sql_变体;它将被二进制序列化。另一种方法是编写自定义的IUserType
。下面是一个支持基本类型(而不是列表)的示例: