2012-10-29 33 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

我結束了創建一個類來使用。我沒有改變實體對象中的東西,而是填充了在該方法中使用的對象。像冠軍一樣工作。