Я борюсь с Entity Framework при создании новой записи в отношении один ко многим. У меня определены следующие таблицы:
лицо
PersonInternetAddresses
Интернет-адреса
Платформа Entity Framework создала EntityObjects Person со свойством навигации PersonInternetAddresses и InternetAddresses со свойством навигации по лицам.
Чтобы создать новую запись InternetAddresses, я создал форму с парой текстовых полей и источником привязки к InternetAddresses.
Под моей «новой» кнопкой я поместил следующий код:
internetAddressesBindingSource.AddNew();
(internetAddressesBindingSource.Current as InternetAddresses).Id = Guid.NewGuid();
(internetAddressesBindingSource.Current as InternetAddresses).Persons = InternetAddresses.Persons;
В последней строке я получаю следующую ошибку:
EntityCollection уже инициализирована. Метод InitializeRelatedCollection следует вызывать только для инициализации новой коллекции EntityCollection во время десериализации графа объектов.
Я предполагаю, что я не могу установить человека через свойство навигации InternetAddresses, которое будет означать, что сама Entity Framework создаст запись PersonInternetAddresses. Поскольку в модели нет объекта EntityObject PersonsInternetAddresses, я застрял!