【问题标题】:How can i map "object" type property in fluent nhibernate如何在流利的 nhibernate 中映射“对象”类型属性
【发布时间】:2011-06-18 01:22:48
【问题描述】:

我编写了我的类及其映射,但是当我想运行我的项目时,抛出了这个错误:

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

【问题讨论】:

    标签: nhibernate fluent-nhibernate mapping


    【解决方案1】:

    您希望如何将 System.Object 保存在那里?

    如果是通过序列化,你应该使用Serializable作为NH类型,varbinary(max)作为SQL。

    【讨论】:

    • 我有一个“对象”属性,用户定义了它的类型。所以我的道具可能是一个整数或字符串或浮点数或...。甚至它可能是 int 或其他任何东西的通用列表。那我该怎么办?
    • 所以我写的是最简单的方法,但它不会使用 sql_variant;它将被二进制序列化。另一种方法是编写自定义IUserType。这是一个支持原始类型(不是列表)的示例:forum.hibernate.org/viewtopic.php?t=987576
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    相关资源
    最近更新 更多