Fluent NHibernate ISessionFactory用于读取、写入和更新数据库



对不起!我问一些简单的问题搞砸了。我有一个非常简单的Store对象,我将存储数据库、读取、更新等。它第一次运行良好,但如果我有当前会话工厂,读取也可以。现在,如果我重新打开我的示例应用程序来读取数据库,那么我就会看到问题。为了进行读取,它使用了相同的InitializeSessionFactory((,因此我的数据库变为空。如何修改InitializeSessionFactory((,使其独立工作以写入、更新和删除单个记录?

公共类NHibernateHelper{private static ISessionFactory _sessionFactory;

private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
InitializeSessionFactory();
return _sessionFactory;
}
}
private static void InitializeSessionFactory()
{
_sessionFactory = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql7.ConnectionString(@"Server=(local);initial catalog=MyDatabase; user=my_user_id;password=my_password;").ShowSql())
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Store>())
.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))
.BuildSessionFactory();
}
public static ISession OpenSession()
{
return SessionFactory.OpenSession();
}

}

我既不是数据库专家,也不是Fluent Nhibernate的老手。经过反复尝试,我找到了这样的解决方案。所以我滥用了它。它似乎在起作用(但不确定是否有任何回归问题(

//.ExposeConfiguration(cfg => new SchemaExport(cfg).Create(true, true))
.ExposeConfiguration(cfg => new SchemaUpdate(cfg).Execute(false, true))

最新更新