我最近開始使用ASP.NET MVC和實體框架。錯誤實體框架數據庫已更改
對於現有的數據庫,我試圖將我的類映射到數據庫表。沒有成功。
讓我告訴你我的數據庫表:
- >分類 - > ID(PK) - >標題 - >說明
- >產品 - - > ID(PK) - >名稱 - >描述 - >價格 - >類別(FK - > CategoryTree)
- >CategoriyTree - > ID(PK) - > ParentCategory(FK - >類) - > ChildCategory(FK - >類)
現在,我班的實體框架:
class Products
{
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public decimal? Price { get; set; }
public virtual ICollection<CategoryTree> Category { get; set; }
}
class Categories
{
public int categoriesId { get; set; }
public string Title { get; set; }
public string Description { get; set; }
}
class CategoryTree
{
public int Id { get; set; }
public virtual ICollection<Categories> ParentCategory { get; set; }
public virtual ICollection<Categories> ChildCategory { get; set; }
}
class EFDbContext : DbContext
{
public DbSet<Products> Products { get; set; }
public DbSet<Categories> Categories { get; set; }
public DbSet<CategoryTree> CategoryTree { get; set; }
}
如果我啓動應用程序時,編譯器警告以下錯誤信息: 模型靠山「EFDbContext」語境已經改變,因爲該數據庫已創建。考慮使用Code First Migrations來更新數據庫(http://go.microsoft.com/fwlink/?LinkId=238269)。
我希望有人能幫助我理解這一點;-)
問候
你能解釋一下我的變化嗎?他爲什麼這樣做? – Patrik 2013-04-23 20:21:52
這是讓你知道你的模型不同於你的數據庫。當數據庫由EF創建時,這更有意義,然後您添加或刪除了字段或實體。 – ckal 2013-04-23 20:33:33
那麼在我的模型中有一個錯誤? ;-) EF是否檢查屬性名稱,對於示例Id,它知道它是要映射的主鍵? – Patrik 2013-04-23 20:39:29