【发布时间】:2012-03-27 08:02:11
【问题描述】:
这是助手;
public class NHibernateHelper
{
private static ISessionFactory _sessionFactory;
private static ISessionFactory SessionFactory
{
get
{
if (_sessionFactory == null)
{
InitSessionFactory();
return _sessionFactory;
}
}
private static void InitSessionFactory()
{
_sessionFactory =
Fluently.Configure().Database(
MsSqlConfiguration.MsSql2008.ConnectionString(
"ConnectionString").ShowSql).
Mappings(m => m.FluentMappings.AddFromAssemblyOf<Category>()).ExposeConfiguration(
cfg => new SchemaExport(cfg).Create(true, true)).BuildSessionFactory();
}
public static ISession OpenSession()
{
return SessionFactory.OpenSession();
}
}
以下代码是存储数据的代码:
using(var session = NHibernateHelper.OpenSession())
{
using (var tx = session.BeginTransaction())
{
session.Save(category);
tx.Commit();
}
}
我的问题是当我运行此代码并刷新数据库时,我看到数据正在通过。
当我重新启动应用程序时,数据消失了。
如何将数据持久化到数据库?
【问题讨论】:
-
导出模式是重新创建数据库还是仅在需要时更新?
标签: c# hibernate fluent-nhibernate