我正在建立一个新项目,并让 NHibernate 使用结构映射...排序。我正在使用带有 ClassMaps 的 NHibernate.Mapping.ByCode.Conformist 设置。没有错误发生,但是当我查询会话并且数据库中存在特定类型的记录时,什么也没有返回。经过进一步检查,我为这些类型设置的映射似乎没有执行。这是我的代码,用于连接结构图。我可以确认它正在执行。
public class OrmRegistry : Registry
{
public OrmRegistry()
{
var sessionFactory = BuildSessionFactory();
For<ISessionFactory>().Singleton().Use(sessionFactory);
For<ISession>().HybridHttpOrThreadLocalScoped().Use(s => sessionFactory.OpenSession());
}
public ISessionFactory BuildSessionFactory()
{
var cfg = new Configuration().DataBaseIntegration(db =>
{
db.ConnectionStringName = "LocalSqlServer";
db.Dialect<MsSql2008Dialect>();
db.Driver<SqlClientDriver>();
db.KeywordsAutoImport = Hbm2DDLKeyWords.AutoQuote;
db.IsolationLevel = IsolationLevel.ReadUncommitted;
db.BatchSize = 500;
}).AddAssembly(Assembly.GetExecutingAssembly());
if(HttpContext.Current != null)
{
cfg.CurrentSessionContext<WebSessionContext>();
}
else
{
cfg.CurrentSessionContext<ThreadStaticSessionContext>();
}
return cfg.BuildSessionFactory();
}
}
我几乎可以肯定我只是在这里遗漏了一些非常明显的东西,但是我已经看了几个小时并且没有取得任何成功。前几天我也变小了,所以我周围没有同事看。