繁体   English   中英

实体框架一遍又一遍地保存相同的链接实体

[英]Entity Framework saving the same linked entity over and over again

我来自NHibernate,对于Entity Framework对链接实体的处理我很困惑。

我有一个称为Post的模型。 每个帖子都有一个链接实体帐户,该帐户告诉创建该帖子的帐户。

创建帖子时,我使用以下代码:

var post = new Post();
post.Account = GetAccount();
db.Posts.Add(post);
db.SaveChanges();

GetAccount()的作用是基于cookie从数据库中获取当前用户的帐户。 它还为当前请求(asp.net)缓存了此消息,因此不必多次提取。

现在,这将为我保存的每个帖子插入一个新帐户(相同但具有新ID)。 我已经为Account实现了Equals和GetHashCode,对于NHibernate来说已经足够了,但是对于Entity Framework来说还不够,对吗?

我想念什么?

您需要确保在执行此操作时使用相同的DataContext类,因为它不会将其注册为现有实体。 因此,为什么每次保存都需要复制帐户。

*请参阅有关初始问题的评论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM