2011-08-18 57 views
27

我通過閱讀this article和其他許多人寫我自己的背景,但沒有主題的解釋可以是這樣的context.Entry(obj)定義,我的意思是,即使通過閱讀this article,我無法理解如何實現這個方法,我也得到了以下錯誤:where is context.Entry()?

錯誤36「Domain.Entities.OurWebSiteContext」不包含一個 定義爲「進入」和沒有擴展方法「進入」接受類型「Domain.Entities.OurWebSiteContext」的 第一個參數可以是 實測值(是你錯過了使用指令或裝配參考?)

有人幫我請

編輯>>

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; } 
    } 
+0

你真的從'DbContext'得到'OurWebSiteContext':'公類OurWebSiteContext:DbContext'? 'Entry'是'DbContext'的公共方法。如果你的應用程序理解'DbContext',它也應該知道'Entry'。 – Slauma

+0

我編輯了我的問題,現在可以看到OurWebSiteContext定義。 –

+1

通過閱讀「http://msdn.microsoft.com/en-us/data/gg685467」文章,我發現它是一個特定於版本的問題。因爲在完成本文所說的內容之後,我的程序執行時沒有任何問題。 –

回答

41

可能來不及回答,但它可以幫助別人,EF 4.0使用ObjectContext類,其中作爲版本4.1使用DbContext定義類似Set<T>Entry的方法。隨着4.0版本,你可以這樣做

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

與像

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

在這裏完成4.1它的版本是一個有用的SO link

相關問題