为什么没有任何关于将
我有一个SQLite数据库+映射表:
NHibernate
与Winforms
中的DataGridView
绑定的教程呢?只有我想使用它吗?
我知道这涉及将集合绑定到DataGridView。但是我在进行CRUD时遇到了问题。我有一个SQLite数据库+映射表:
<class name="Employee" table="emplyees" lazy="true">
<id name="id">
<generator class="increment"></generator>
</id>
<property name="first_name" not-null="true"></property>
<property name="last_name" not-null="true"></property>
<property name="login" not-null="true"></property>
<property name="sid"></property>
</class>
可运行的代码。
Employee new_employee =
new Employee() { first_name = "test1", last_name = "test3", login = "login1" };
session.Save(new_employee);
session.Commit();
但是如果我绑定到DataGridView并使用网格来插入新行:
transaction = session.BeginTransaction();
employees = (from e in session.Linq<Employee>() select e).ToList<Employee>();
this.employeeBindingSource.DataSource = employees;
private void employeeDataGridView_UserAddedRow(object sender, DataGridViewRowEventArgs e)
{
Employee new_employee = (Employee)this.employeeBindingSource.Current;
session.Save(new_employee);
}
< p>在session.Commit()
之后,我收到了一个错误:行已被另一个事务更新或删除(或未保存值映射不正确)。
在日志中,我看到NH为该新行发送UPDATE。应该是插入操作。