“我如何绘制地图?”;“对象”;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
。下面是一个支持基本类型(而不是列表)的示例: