NHibernate
에서 DataGridView
까지 Winforms
으로 바인딩하는 방법에 대한 자습서가없는 이유는 무엇입니까? 오직 그것을 사용하고 싶습니까? 컬렉션을 DataGridView에 바인딩하는 것이 중요하다는 것을 알고 있습니다. 하지만 CRUD를 만드는 데 문제가 있습니다. 작동DataGridView에 Nhibernate 바인딩
<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>
코드 :
나는 매핑 데이터베이스 SQLite는 + 테이블이 있습니다. 나는 새 행 삽입 DataGridView를 사용 그리드에 바인딩 할 경우
Employee new_employee =
new Employee() { first_name = "test1", last_name = "test3", login = "login1" };
session.Save(new_employee);
session.Commit();
는하지만 : session.Commit()
후
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);
}
를 오류가 발생합니다 : Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect).
로그에서 내가 NH 그 새 행에 대해 UPDATE를 보내는 것을 알 수있다. 삽입해야합니다.
공용 속성은 => UpperCase 형식이어야합니다. FirstName이 아닌 FirstName. ** 표준 ** 당신이 알고 ... – gdoron
조언 덕분에 – userbb
그리고 대답은? – gdoron