Fluent nhibernate 带列的Fluent Nhibernate映射

Fluent nhibernate 带列的Fluent Nhibernate映射,fluent-nhibernate,fluent-nhibernate-mapping,Fluent Nhibernate,Fluent Nhibernate Mapping,嗨,我在处理流利的nhibernate时遇到了一个问题 我的用户实体如下 公共类用户实体 { 公共虚拟int用户标识{get;set;} 公共虚拟公司实体公司ID{get;set;} 公共虚拟字符串名称{get;set;} 公共虚拟字符串电子邮件{get;set;} 公共虚拟字符串用户名{get;set;} 公共虚拟字符串密码{get;set;} 公共虚拟十进制最小限制{get;set;} 公共虚拟十进制最大限制{get;set;} 公共虚拟日期时间出生日期{get;set;} 公共虚拟角色属性

嗨,我在处理流利的nhibernate时遇到了一个问题

我的用户实体如下

公共类用户实体
{
公共虚拟int用户标识{get;set;}
公共虚拟公司实体公司ID{get;set;}
公共虚拟字符串名称{get;set;}
公共虚拟字符串电子邮件{get;set;}
公共虚拟字符串用户名{get;set;}
公共虚拟字符串密码{get;set;}
公共虚拟十进制最小限制{get;set;}
公共虚拟十进制最大限制{get;set;}
公共虚拟日期时间出生日期{get;set;}
公共虚拟角色属性Roleid{get;set;}
公共虚拟int由{get;set;}创建
公共虚拟日期时间CreatedDate{get;set;}
公共虚拟布尔活动{get;set;}
}
}

映射类如下所示

公共类用户映射:类映射
{
公共用户映射()
{
Id(x=>x.Userid);
引用(x=>x.CompanyId).Column(“CompanyId”).Cascade.All();
映射(x=>x.Name);
Map(x=>x.Email);
映射(x=>x.Username);
映射(x=>x.Password);
映射(x=>x.MinLimit);
映射(x=>x.MaxLimit);
地图(x=>x.生日);
引用(x=>x.Roleid).Column(“Roleid”).Cascade.All();
映射(x=>x.CreatedBy);
映射(x=>x.CreatedDate);
映射(x=>x.Active);
表(“tblUsers”);
}
}

现在,当我试图执行我的程序时,它会给我类似的错误

无法确定以下列的类型:ProductPO.Models.Entites.UserEntity,ProductPO,版本=1.0.0.0,区域性=neutral,PublicKeyToken=null:NHibernate.Mapping.Column(CreatedBy)

我的助手类如下

私人静态ISessionFactory_sessionFactory

私有静态ISessionFactory会话工厂
{  
得到
{  
if(_sessionFactory==null)
{  
initialisationFactory();
}  
返回工厂;
}  
}  
私有静态void initialisationFactory()
{  
尝试
{  
_sessionFactory=fluntly.Configure()
.Database(MsSqlConfiguration.MsSql2005.ConnectionString(@“Server=10.10.10.10;Database=Product;uid=sa;pwd=12345;Trusted_Connection=false;”)。ShowSql()
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf().ExportTo(“d:\\”)
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf().ExportTo(“d:\\”)
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf().ExportTo(“d:\\”)
.Mappings(m=>m.FluentMappings.AddFromAssemblyOf().ExportTo(“d:\\”)
.ExposeConfiguration(cfg=>newschemaexport(cfg))
.BuildSessionFactory();
}  
捕获(例外e)
{  
投掷;
} 
}  
公共静态会话OpenSession()
{  
返回sessionFactory.OpenSession();
}  

提前感谢

不确定这是否能解决问题,但您的映射类应将模型类型传递到基类,如下所示:

public class UserMap : ClassMap<UserEntity>
公共类用户映射:类映射
基础表中是否也存在CreatedBy列


如果存在内部异常,是否可以发布内部异常…

最有可能的原因是,为UserEntity设置的程序集与为UserMap定义的程序集不同

配置映射:
流利。配置()
.Database(MsSqlConfiguration.MsSql2005.ConnectionString(“{ommited}”).ShowSql()
.Mappings(m=>{
AddFromAssemblyOf()
})  
.ExposeConfiguration(c=>
新方案出口(c)
.执行(假、真、假)
)

无需添加一对一映射。通过这种方式,Fluent NHibernate搜索从ClassMap继承的整个汇编类

我找到了答案。实际上,我有一个users表和role表的关系,但忘了把它放在实体类中。。。但是谢谢你的帖子。我非常感激,我想出来了。实际上,我有一个users表和role表的关系,但忘了把它放在实体类中。。。但是谢谢你的帖子。我非常感激。
public class UserMap : ClassMap<UserEntity>
Fluently.Configure() 
    .Database(MsSqlConfiguration.MsSql2005.ConnectionString("{OMITED}").ShowSql()) 
    .Mappings(m => {
        AddFromAssemblyOf<UserMap>()
    })  
    .ExposeConfiguration( c => 
        new SchemaExport(c)
        .Execute(false, true, false) 
    )