【发布时间】:2009-06-12 09:04:28
【问题描述】:
在一对多关系中创建新记录时,我正在努力使用实体框架。我定义了以下表格:
人
个人互联网地址
互联网地址
实体框架创建了具有名为 PersonInternetAddresses 的导航属性和 InternetAddresses 的 EntityObjects Person,并具有指向人员的导航属性。
为了创建一个新的 InternetAddresses 记录,我创建了一个带有几个文本字段的表单和一个 InternetAddresses 的绑定源。
在我的“新建”按钮下,我放置了以下代码:
internetAddressesBindingSource.AddNew();
(internetAddressesBindingSource.Current as InternetAddresses).Id = Guid.NewGuid();
(internetAddressesBindingSource.Current as InternetAddresses).Persons = InternetAddresses.Persons;
在最后一行我收到以下错误:
EntityCollection 已经被初始化。 InitializeRelatedCollection 方法只能在对象图的反序列化期间调用以初始化新的 EntityCollection。
我猜我无法通过 InternetAddresses 的导航属性设置人员,这意味着实体框架本身会创建一个 PersonInternetAddresses 记录。由于模型中没有 PersonsInternetAddresses EntityObject 我很卡!
【问题讨论】: