2012-10-29 93 views
1

我的实体模型中有一个对象(它是通过链接服务器获取数据的数据库中的视图)。无论如何,当我调用contex.savechanges()时,它会更新对象模型中更改的所有内容。我不想更新某个对象。有没有办法从更新中排除该对象?我一直无法找到任何可行的属性或方法。我可以排除实体框架中对象的更新吗?

感谢您的任何建议。 布赖恩

+1

您是否尝试使用'AsNoTracking'获取对象? –

+1

请参阅[此答案](http://stackoverflow.com/a/1162162/1370166)。你真的不想跟踪这个对象。 – TylerOhlsen

+0

我试过使用这个,但是在快捷菜单中没有列出它的方法。不知道我是否拥有正确版本的实体框架。 – Loganj99

回答

1

设置对象的状态Unchanged

_context.Entry(myObject).State = EntityState.Unchanged; 

MSDN文档为:

DbContext.Entry方法

EntityState财产

+0

对不起,但这是一个黑客,可能会导致代码后面的问题。你实际上是在撒谎以欺骗它,认为不需要更新。 – TylerOhlsen

+0

我在方法快捷方式下找不到此选项。 – Loganj99

+0

你使用什么版本的EF? –

0

我结束了创建一个类来使用。我没有改变实体对象中的东西,而是填充了在该方法中使用的对象。像冠军一样工作。