當在一對多關係中創建新記錄時,我正在與實體框架苦苦掙扎。我下面的表中定義:Winforms中的實體綁定 - 一對多
Person
PersonInternetAddresses
InternetAddresses
實體框架創造了EntityObjects人用導航屬性命名PersonInternetAddresses和InternetAddresses與導航屬性的人。
要創建我創建了一個形式與一對夫婦的文本字段和BindingSource的InternetAddresses新InternetAddresses紀錄。
在我的「新建」按鈕我已經放在下面的代碼:
internetAddressesBindingSource.AddNew();
(internetAddressesBindingSource.Current as InternetAddresses).Id = Guid.NewGuid();
(internetAddressesBindingSource.Current as InternetAddresses).Persons = InternetAddresses.Persons;
在最後一行,我發現了以下錯誤:
The EntityCollection has already been initialized. The InitializeRelatedCollection method should only be called to initialize a new EntityCollection during deserialization of an object graph.
我猜我無法通過InternetAddresses的導航屬性來設置此人,這意味着實體框架本身會創建PersonInternetAddresses記錄。由於模型中沒有PersonsInternetAddresses EntityObject,所以我很困難!