Nhibernate 3.2具有不同类型密钥的集合映射?

Nhibernate 3.2具有不同类型密钥的集合映射?,nhibernate,fluent-nhibernate,nhibernate-mapping,Nhibernate,Fluent Nhibernate,Nhibernate Mapping,在NHibernate 3.2中,有没有办法用不同类型的键映射集合 例如: 数据库中的一个表有一个int类型的PK 另一个表将此PK作为字符串(VARCHAR)包含 这些值完全匹配,因此没有理由加入它们,但类型不同 此DB结构不属于我,请不要让我更改列类型:) 我试过: public class CustomerMap:EntityMapping<Customer> { /// <summary> /// Initializes a new instanc

在NHibernate 3.2中,有没有办法用不同类型的键映射集合

例如:

数据库中的一个表有一个int类型的PK 另一个表将此PK作为字符串(VARCHAR)包含

这些值完全匹配,因此没有理由加入它们,但类型不同

此DB结构不属于我,请不要让我更改列类型:)

我试过:

public class CustomerMap:EntityMapping<Customer>
{
    /// <summary>
    /// Initializes a new instance of the CustomerMap class.
    /// </summary>
    public CustomerMap()
    {
        Table("tblcari");

        Id(x => x.CustomerId, 
            m => 
                {
                    m.Column("kod");
                    m.Generator(Generators.Identity);
                });

        Set(x => x.Details, 
            cm =>
            {
                cm.Key(k => 
                    { 
                        k.Column(
                            km => 
                            {
                                km.SqlType("String");
                                km.Name("mkod");
                            }); 
                    });

            },
            m=>m.OneToMany()
            );
.
.
.
}
公共类CustomerMap:EntityMapping
{
/// 
///初始化CustomerMap类的新实例。
/// 
公共客户映射()
{
表(“tblcari”);
Id(x=>x.CustomerId,
m=>
{
m、 列(“kod”);
m、 生成器(生成器.标识);
});
设置(x=>x.详细信息,
厘米=>
{
cm.Key(k=>
{ 
k、 纵队(
公里=>
{
km.SqlType(“字符串”);
km.名称(“mkod”);
}); 
});
},
m=>m.OneToMany()
);
.
.
.
}

我知道这可以用fluent nhibernate完成,因为我已经完成了。但是不确定NH3.2。也许fluent就是你的答案。

我知道这可以用fluent nhibernate完成,因为我已经完成了。但是不确定NH3.2。也许fluent就是你的答案。

好问题,即使你添加了nhibernate例外,也会更好。好问题启用时,即使添加NHibernate异常也会更好。