Database nhibernate save()生成了insert语句,但没有将实际记录插入数据库
我有以下代码。在SQL Server profiler中,我可以看到正在生成insert语句,但是没有插入任何实际记录。我就是搞不懂为什么会这样Database nhibernate save()生成了insert语句,但没有将实际记录插入数据库,database,nhibernate,session,insert,save,Database,Nhibernate,Session,Insert,Save,我有以下代码。在SQL Server profiler中,我可以看到正在生成insert语句,但是没有插入任何实际记录。我就是搞不懂为什么会这样 private ISessionFactory _sessionFactory; private Configuration _configuration; _configuration = new Configuration(); _configuration.Configure(); _configuration.AddAssembly(type
private ISessionFactory _sessionFactory;
private Configuration _configuration;
_configuration = new Configuration();
_configuration.Configure();
_configuration.AddAssembly(typeof(Task).Assembly);
_sessionFactory = _configuration.BuildSessionFactory();
using (var s = _sessionFactory.OpenSession())
using (var t = s.BeginTransaction(IsolationLevel.RepeatableRead))
{
var taskToSave = new Task
{
Class = "test class",
IsActive = true,
Namespace = "test namespace"
};
s.FlushMode = FlushMode.Commit;
s.Save(taskToSave);
t.Commit();
}
我的映射文件如下所示:
<class name="Task" table="Task">
<id name="Id" column="Id" unsaved-value="0" type="Int32">
<generator class ="identity"></generator>
</id>
<property name="IsActive" column="IsActive" not-null="true" type="Boolean" />
<property name="Namespace" column="Namespace" length="255" not-null="true" type="String" />
<property name="Class" column="Class" length="255" not-null="true" type="String" />
</class>
谢谢大家!!顺便说一句,我正在使用NHibernate-2.1.0.CR1。这是因为我在代码中的某个地方有
SchemaExport
,而我没有意识到它,当代码运行SchemaExport时,创建了一个名为dbo\u owner\u Task
的新表,并插入到该表中,而不是dbo.Task
所以在使用SchemaExport时要小心 这是因为我在代码中的某个地方有SchemaExport,但我没有意识到,当代码运行时,SchemaExport创建了一个名为dbo_owner_Task的新表,并插入到dbo.Task的表中。(杰弗里,如果你发布的最后一条评论是你问题的答案,那么你应该将其作为答案发布。然后用复选标记按钮将其标记为最佳答案。)木法沙,我确实将其作为答案发布了。但它一定被某个人删除了!