0

我正在使用 fnh 和城堡 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);
    }
}

我真的看不出问题出在哪里。奇怪的是-如果我使用自动映射,它会拾取所有内容-但我不想使用自动映射,因为在那种情况下我无法做某些事情。

任何线索?

w://

4

2 回答 2

0

您的映射文件是否与域类位于同一程序集中?否则,在指定要查看的程序集时,您可能希望使用 UserMap 而不是 User:

configuration.AddMappingsFromAssembly(typeof(UserMap).Assembly);
于 2009-08-15T14:25:19.010 回答
0

这已修复 - 这是 fnh 中的一个错误 :(

于 2009-08-15T14:55:50.337 回答