我的实体模型中有一个对象(它是通过链接服务器获取数据的数据库中的视图)。无论如何,当我调用contex.savechanges()时,它会更新对象模型中更改的所有内容。我不想更新某个对象。有没有办法从更新中排除该对象?我一直无法找到任何可行的属性或方法。我可以排除实体框架中对象的更新吗?
感谢您的任何建议。 布赖恩
我的实体模型中有一个对象(它是通过链接服务器获取数据的数据库中的视图)。无论如何,当我调用contex.savechanges()时,它会更新对象模型中更改的所有内容。我不想更新某个对象。有没有办法从更新中排除该对象?我一直无法找到任何可行的属性或方法。我可以排除实体框架中对象的更新吗?
感谢您的任何建议。 布赖恩
设置对象的状态Unchanged
:
_context.Entry(myObject).State = EntityState.Unchanged;
MSDN文档为:
对不起,但这是一个黑客,可能会导致代码后面的问题。你实际上是在撒谎以欺骗它,认为不需要更新。 – TylerOhlsen
我在方法快捷方式下找不到此选项。 – Loganj99
你使用什么版本的EF? –
我结束了创建一个类来使用。我没有改变实体对象中的东西,而是填充了在该方法中使用的对象。像冠军一样工作。
您是否尝试使用'AsNoTracking'获取对象? –
请参阅[此答案](http://stackoverflow.com/a/1162162/1370166)。你真的不想跟踪这个对象。 – TylerOhlsen
我试过使用这个,但是在快捷菜单中没有列出它的方法。不知道我是否拥有正确版本的实体框架。 – Loganj99