更新 EntityCollection & EntityReference(ASP.Net MVC 和实体框架)
我没有使用 Entity Framework 4。我使用的是 Visual Studio 2008。
我有一个模型,其中包含 EntityCollection & 类型的项目。实体参考。
我可以使用 ApplyPropertyChanges 更改模型的其他属性(字符串、整数等)。但我不知道如何更新 EntityCollection &同一模型对象的 EntityReference 项。
例如:
注释有以下项目
{
String Name;
EntityCollection<Links> NoteLinks;
Reminders NoteReminders;
EntityReference<Reminders> RemindersReference;
}
当记录已经存在时,我可以轻松更新名称。我到底应该如何更新 NoteLinks &注意提醒参考?
我在 StackOverflow 上看到过很多示例,但它们要么没有解决相同的问题,要么是在我没有使用的 EF4 中实现的。
请帮忙。
I am not using Entity Framework 4. I am on Visual Studio 2008.
I have a model that has items of type EntityCollection & EntityReference.
I am able to make changes to other properties (string, int, etc) of the model using the ApplyPropertyChanges. But I don't know exactly how to update EntityCollection & EntityReference items of the same model object.
Eg:
Note has following items
{
String Name;
EntityCollection<Links> NoteLinks;
Reminders NoteReminders;
EntityReference<Reminders> RemindersReference;
}
When a record already exists, I can update Name easily. How exactly should I update NoteLinks & NoteRemindersReference?
I have seen many examples on StackOverflow but they are either not addressing the same problem or they are implemented in EF4 which I am not using.
Please help.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为您正在使用分离的对象,因为否则您不会遇到这些问题。实际上,EFv1 和 EFv4 的行为几乎没有区别。我此处描述了一般问题。问题是关于 POCO 和 EFv4,但对于 EFv1 中的分离实体对象,结论相同。如果您有分离的实体图并且想要合并对附加对象的更改,则不能使用
ApplyPropertyChanges
。该方法只能更新标量属性。您必须手动合并导航属性。I think you are using detached objects because otherwise you would not get these problems. There is actually almost no difference between behvior of EFv1 and EFv4. I described general problems here. The question was about POCO and EFv4 but the same conclusion if for detached entity objects in EFv1. If you have detached entity graph and you want to merge changes to attached object you can't use
ApplyPropertyChanges
. That method is only able to update scalar properties. You must merge navigation properties manually.