当使用流利的配置,以指定流利的映射是这样的:
.Mappings(m => m.FluentMappings.AddFromAssembly(typeof(UserMapping).Assembly))
目前,我得到一个“NHibernate.MappingException:没有留存的”错误。
它是一个问题,我的实体和我ClassMaps在不同的组件? 想必AddFromAssembly有兴趣持有类映射,而不是实体组件? (这是我假定的)
谢谢!
更新:
对不起,没有回应的答案非常快 - 我必须设置赏金后意外旅行。
无论如何,感谢您的答复。 我已经采取通过他们一看,已经更新了我的代码使用AddFromAssemblyOf而非AddFromAssembly,但我仍然得到同样的错误。 也许我在做一些愚蠢的事。 下面是我使用的会话工厂代码的完整代码:
public class NHibernateHelper
{
private static ISessionFactory _sessionFactory;
private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
{
var mysqlConfig = FluentNHibernate.Cfg.Db.MySQLConfiguration
.Standard
.ConnectionString("CONNECTION STRING OMITTED")
.UseOuterJoin()
.ProxyFactoryFactory("NHibernate.ByteCode.Castle.ProxyFactoryFactory, NHibernate.ByteCode.Castle");
_sessionFactory = FluentNHibernate.Cfg.Fluently.Configure()
.Database(mysqlConfig)
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<User>())
.BuildSessionFactory();
}
return _sessionFactory;
}
}
public static ISession OpenSession()
{
return SessionFactory.OpenSession();
}
}
我收到试图运行在NUnit的一个测试,利用使用该会话机制的仓库时此异常:
NHibernate.MappingException:没有留存为:xxxx.Model.Entities.User
谢谢
PS:我同时使用和AddFromAssemblyOf()审判; 项目与映射定义(数据访问),具有一定的参考与实体(模型)项目。