2014-03-02 100 views
0

我有一個運行vs2013的web窗體應用程序。我正在使用代碼優先模型構建應用程序。錯誤 - 名稱'GetSuppliers'在當前上下文中不存在

我有一個datacontext類和一個初始化類來播種一些初始數據。一切工作正常,直到我決定改變模型,並對我的類之間的關係進行一些更改並添加4個。現在我在初始化類中得到4個錯誤,說「名稱'xxxxx'在當前上下文中不存在」,這很奇怪,因爲有6個其他類似的語句正常工作。

我已清理,重建解決方案。重新啓動我的電腦。我不知道還有什麼要嘗試。任何幫助,將不勝感激。

下面的代碼:

myDataContext:

using System.Data.Entity; 
using System.Collections.Generic; 

namespace YPGOOS.Models 
{ 
    public class myDataContext : DbContext 
    { 
     public myDataContext() : base("YPGOOS") { } 

     public DbSet<Category> Categories { get; set; } 
     public DbSet<Style> Styles { get; set; } 
     public DbSet<Product> Products { get; set; } 
     public DbSet<Size> Sizes { get; set; } 
     public DbSet<QuantityBreak> QuantityBreaks { get; set; } 
     public DbSet<Stock> Stocks { get; set; } 
     public DbSet<Supplier> Suppliers { get; set; } 
     public DbSet<Finish> Finishes { get; set; } 
     public DbSet<FinishConstraint> FinishConstraints { get; set; } 
     public DbSet<FinishAttribute> FinishAttributes { get; set; } 
    } 
} 

然後myDatabaseInitialiser類:

using System.Collections.Generic; 
using System.Data.Entity; 

namespace YPGOOS.Models 
{ 
    //public class myDatabaseInitialiser : DropCreateDatabaseIfModelChanges<myDataContext> 
    public class myDatabaseInitialiser : DropCreateDatabaseAlways<myDataContext> 
    { 
     protected override void Seed(myDataContext context) 
     { 
      GetCategories().ForEach(c => context.Categories.Add(c)); 
      GetProducts().ForEach(p => context.Products.Add(p)); 
      GetSizes().ForEach(s => context.Sizes.Add(s)); 
      GetQuantityBreaks().ForEach(q => context.QuantityBreaks.Add(q)); 
      GetStyles().ForEach(st => context.Styles.Add(st)); 
      GetStocks().ForEach(x => context.Stocks.Add(x)); 
      GetSuppliers().ForEach(su => context.Suppliers.Add(su)); 
      GetFinishes().ForEach(f => context.Finishes.Add(f)); 
      GetFinishConstraints().ForEach(fc => context.FinishConstraints.Add(fc)); 
      GetFinishAttributes().ForEach(fa => context.FinishAttributes.Add(fa)); 
     } 

     private static List<Category> GetCategories() 
     { 
      var categories = new List<Category> { 
       new Category 
       { 
        CategoryID = 1, etc 

我添加的最後4日前; GetSuppliers,GetFinishes,GetFinishConstraints,GetFinishAttributes,它是在這4我得到錯誤。

這裏的供應商類:

using System.Collections.Generic; 
using System.ComponentModel.DataAnnotations; 

namespace YPGOOS.Models 
{ 
    public class Supplier 
    { 
     [ScaffoldColumn(false)] 
     public int SupplierID { get; set; } 

     [Required, StringLength(100), Display(Name = "Supplier Name")] 
     public string SupplierName { get; set; } 

     [Required, StringLength(4), Display(Name = "Supplier Code")] 
     public string SupplierCode { get; set; } 

     //Navigation Properties 
     public virtual ICollection<Product> Products { get; set; } 
     public virtual ICollection<Stock> Stocks { get; set; } 
     public virtual ICollection<Category> Categories { get; set; } 
    } 
} 

回答

0
public DbSet<Size> Suppliers { get; set; } 

爲什麼供應商尺寸的通用?你有一個供應商類。這只是一個錯字嗎?智能感知是否開始像自動更正一樣行事?

+0

感謝那個乍得,它只是一個錯字:-)沒有intellisense似乎正常行事,只是不能擺脫那些我認爲不應該在那裏的紅色波浪線! – skella

0

不好意思給這個答案,真正的新手問題。我只是沒有在DatabaseInitialiser類中有一個名爲GetSuppliers()的方法 - 只要我把錯誤消失了。

相關問題