Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
689 views
in Technique[技术] by (71.8m points)

entity framework - where is context.Entry()?

I wrote my own context by reading this article and many others, but none of theme explains where is this context.Entry(obj) defined, I mean even by reading this article, I cant understand how to implement this method, and I get the following error :

Error 36 'Domain.Entities.OurWebSiteContext' does not contain a definition for 'Entry' and no extension method 'Entry' accepting a first argument of type 'Domain.Entities.OurWebSiteContext' could be found (are you missing a using directive or an assembly reference?)

Somebody help me out please

Edited >>

 public class OurWebSiteContext : DbContext
    {
        public OurWebSiteContext(string connString)
            : base(connString)
        {

        }

        public DbSet<Article> Articles { get; set; }
        public DbSet<Category> Categories { get; set; }
        public DbSet<Comment> Comments { get; set; }
    }
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

may be too late to answer but it may help others, EF 4.0 uses the ObjectContext class where as the version 4.1 uses the DbContext class in which the methods like Set<T> and Entry are defined. With version 4.0 you can do something like

DatabaseContext _context = new DatabaseContext();
_context.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Modified);

with version 4.1 its done like

_context.Entry(entity).State = System.Data.EntityState.Modified;

here is a useful SO link


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...