14

I'm working with the entity framework code first and am getting the following compilation error. dbcontext does not contain a definition for 'Refresh'. I have seen many examples where the Refresh method is being used. But when i add the Refresh method to my dbcontext I get a complilation error. I'm using the following namespaces.

using System.Data;
using System.Data.Entity;
using System.Data.Linq;

Am I missing one? I tried to look it up but did not find the namespace.

Cœur
  • 37,241
  • 25
  • 195
  • 267
user1014901
  • 151
  • 1
  • 1
  • 4
  • It's likely that any examples you've seen with `Refresh` are derived versions of `DbContext` - it'd help if you could post some code as to how you're using your context. – Paul Aldred-Bann Nov 01 '12 at 13:07
  • 2
    Does this help? http://stackoverflow.com/questions/5221314/refresh-entity-instance-with-dbcontext – bgs264 Nov 01 '12 at 13:09

2 Answers2

29

DbContext does indeed not have a Refresh() method.

The examples you saw were probably using ObjectContext.Refresh().

You can get one from the other:

 db = new MyDbContext())
 ...   
 var ctx = ((IObjectContextAdapter)db).ObjectContext;
 ctx.Refresh();

This question has more about the details and differences.

Community
  • 1
  • 1
H H
  • 263,252
  • 30
  • 330
  • 514
1

LINQ-to-SQL has a confusingly similar DataContext class, that has this method.

Entity Framework: does not.

Marc Gravell
  • 1,026,079
  • 266
  • 2,566
  • 2,900