2012-08-10 50 views
1

这个问题是在一个带有Entity框架的windows窗体应用程序中。bindingsource.AddNew方法增加了两条记录而不是1条

源代码(V.S 2010): https://rapidshare.com/files/1553732530/WindowsFormsApplication8.rar

我有一个“聘用过的员工”实体具有ID,名称字段和自缔合 “零或1 TO许多” 多重性。和两个导航属性1-Manager 2-personnel

每个经理可以有零个或多个人员,每个人员可以有零个或多个经理。

在一个窗体中,我有两个数据网格视图,一个用于管理员,另一个用于第一个数据网格视图中当前选定管理人员。到现在为止每一件事情是确定的,但是当我调用下面的代码,人员的BindingSource添加了两个记录,而不是一个记录

 employeBindingSource.AddNew(); 
     Employe p=(Employe)personnelBindingSource.AddNew(); 
     p.Manager = (Employe)employeBindingSource.Current; 

问题是什么?

+0

你释放你的发行实体上下文?顺便说一句,即使你释放它,所以它会发生内存泄漏 – 2012-08-10 21:18:23

+0

我的问题是,当我设置employeBindingSource当前记录(p.Manager =(Employe)employeBinddingSource.Current;) – user1329630 2012-08-11 04:21:30

+0

managerBindingSource有两个新记录,而不是1 – user1329630 2012-08-11 04:29:31

回答

0

此代码工作正常

 employeBindingSource.AddNew(); 
     Employe p = new Employe(); 

     p.Manager = (Employe)employeBindingSource.Current; 
相关问题