2013-05-01 140 views
2

我們在我們的項目中使用了Microsoft WCF Web服務和實體框架ORM。實體框架中的模型跟蹤

當客戶端調用每個Web服務時,實體框架保持每個模型在內存中的狀態以便跟蹤每個客戶端的模型狀態。在這種情況下,內存使用情況在服務器端會非常高。我們不需要在客戶端跟蹤模型,因此我們將MergeOption設置爲客戶端中的NoTraking,但它似乎不起作用。

這個問題有什麼辦法嗎?

回答

2

您可以使用.AsNoTracking()方法 - 這意味着實體框架不會試圖跟蹤實體的任何更改。例如:

var items = context.Foo.AsNoTracking(); 

推薦閱讀:

Entity Framework and AsNoTracking

+0

如果我用這個代碼,然後我不能更新或刪除我的實體框架模型。 – 2013-05-05 03:23:46

+0

@MortezaNemati:是的,如果您不需要跟蹤對實體所做的更改,則應使用此代碼 - 例如您正在加載要在網格中顯示的實體。 – 2013-05-07 11:46:46