如何摆脱“实体对象不能被IEntityChangeTracker的多个实例引用”? [英] How to get rid off "An entity object cannot be referenced by multiple instances of IEntityChangeTracker"?

查看:96
本文介绍了如何摆脱“实体对象不能被IEntityChangeTracker的多个实例引用”?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Ado.Net EF中有一个模型。
我有一对多的关系,当我想添加实体我得到错误



实体对象不能被IEntityChangeTracker的多个实例引用



任何线索?



类似于

  Template template = new Template(); 
...
...
while(from< to)
{
课程=新课程();
.....
template.Course.Add(course);
.....
}
courseEntities.AddToTemplate(template); //问题行
courseEntities.SaveChanges();


解决方案

我收到此消息,直到我开始存储数据上下文在 HttpContext.Items 财产。这意味着您可以为当前Web请求使用相同的数据上下文。这样你就不会得到引用相同实体的2个数据上下文。



这是一个很好的帖子,在 DataContext Life Management



我希望它有帮助。 >

Dave


I have a model in Ado.Net EF. I have a one to many relation and when I want to Add the entities I get the error

"An entity object cannot be referenceed by multiple instances of IEntityChangeTracker"

Any clue?

Something similar to

Template template = new Template();
...
...
while (from < to)
{
    Course course = new Course();
    .....
    template.Course.Add(course);
    .....
}
courseEntities.AddToTemplate(template); // Problem line
courseEntities.SaveChanges();

解决方案

I was getting this message until i started to store the data context in the HttpContext.Items Property. This means you can use the same data context for the current web request. That way you don't end up with 2 data contexts referencing the same entities.

Here is a good post on DataContext Life Management.

I hope it helps.

Dave

这篇关于如何摆脱“实体对象不能被IEntityChangeTracker的多个实例引用”?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆