我正在使用fnh和castle nhib设施。
我遵循了mike hadlow的建议:http://mikehadlow.blogspot.com/2009/01/integrating-fluent-nhibernate-and.html
这是我的FluentNHibernateConfigurationBuilder:
public Configuration GetConfiguration(IConfiguration facilityConfiguration)
{
var defaultConfigurationBuilder = new DefaultConfigurationBuilder();
var configuration = defaultConfigurationBuilder.GetConfiguration(facilityConfiguration);
configuration.AddMappingsFromAssembly(typeof(User).Assembly);
return configuration;
}
我知道设施正在接收它,因为我可以在该方法内部进行破坏并逐步完成。
但是,当它完成时,会创建非映射,并且当我尝试保存实体时出现以下错误:
没有持久性:IsItGd.Model.Entities.User
这是我的用户类:
//simple model of web user
public class User
{
public virtual int Id { get; set; }
public virtual string FullName { get; set; }
}
这是映射:
public class UserMap : ClassMap<User>
{
public UserMap() {
Id(x=>x.Id);
Map(x=>x.FullName);
}
}
我真的看不出问题所在。奇怪的是 - 如果我使用自动化它会选择一切 - 但我不想使用自动化,因为我不能在那种情况下做某些事情。
任何线索?
瓦特://
答案 0 :(得分:0)
您的映射文件是否与域类位于同一个程序集中?否则,在指定要查看的程序集时,您可能希望使用UserMap而不是User:
configuration.AddMappingsFromAssembly(typeof(UserMap).Assembly);
答案 1 :(得分:0)
这已被修复 - 这是fnh中的一个错误:(