我最近开始使用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