2013-05-01 142 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