2012-08-10 84 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;