C# 在实体框架4.0中刷新实体

C# 在实体框架4.0中刷新实体,c#,entity-framework,C#,Entity Framework,我正在尝试创建一个API,以允许web应用程序也具有相同的功能。 Web应用程序和API使用运行在Entity Frameowrk 4.0之上的同一数据访问层 比如说, 从API,我知道 1) 站岗 2) Update UsersEntry.OnTrial=false,UserEntry.Enabled=true 从Web应用程序中,我知道 1) 更新UserEntry.OnTrial=true 现在,当我回到API函数,然后尝试获取UserEntry.OnTrial值时,它返回false,因为

我正在尝试创建一个API,以允许web应用程序也具有相同的功能。 Web应用程序和API使用运行在Entity Frameowrk 4.0之上的同一数据访问层

比如说,

从API,我知道 1) 站岗 2) Update UsersEntry.OnTrial=false,UserEntry.Enabled=true

从Web应用程序中,我知道 1) 更新UserEntry.OnTrial=true

现在,当我回到API函数,然后尝试获取UserEntry.OnTrial值时,它返回false,因为它在上次访问时作为值false缓存在内存中。它应该具有最新的值

通过API获取值的方法是 DBContecx.Database.User.Entry.Single(u=>u.username==emailAddress)

在使用API时,我是否可以访问实际的数据库而不是从内存中读取

请帮忙。 谢谢
Vivek

那么你是说EF缓存没有正确地失效以便获得最新的值?听起来好像webapi中的每个请求都没有处理DBContext。DBContext不会在请求之间进行任何类型的数据缓存,所以你的问题一定在别处。你也可以试试
db.UsersEntry.MergeOption=MergeOption.OverwriteChanges@AaronLS正确。对不起,我应该说是网络请求。我想您可以将DbContext插入会话或应用程序,但在绝大多数情况下,这不是一个好主意。