步骤一:
将最新版本的EntityFramework NuGet包添加到项目中
- 工具 - >库程序包管理器 - >程序包管理器控制台
- 运行Install-Package EntityFramework命令
步骤二:
EF生成数据库需要先定义模型类和上下文Context类。例如下面
using System.Data.Entity;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity.Infrastructure;
namespace MigrationsDemo
{
public class BlogContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
}
public class Blog
{
public int BlogId { get; set; }
public string Name { get; set; }
}
}
步骤三:
生成新建控制器
正常情况下会自动生成数据库和相对应的增删查改页面。就完成了ef生成数据库的操作。
但是有时候会出现问题,下面我汇总了下:
添加类之后,右键添加控制器,ef生成数据库,运行时报错
支持“StudentDbContext”上下文的模型已在数据库创建后发生更改。请考虑使用 Code First 迁移更新数据库(http://go.microsoft.com/fwlink/?LinkId=238269)。
步骤1:
迁移版本时:Enable-Migrations
使用“8”个参数调用“CreateInstanceFrom”时发生异常:“Could not load file or assembly 'EntityFramework, Version=5.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. 系统找不到指定的文件。”
解决办法:
在Package Manager中卸载每个项目的Entity Framework(我从Package Manager控制台顶部的Default Project下拉菜单中选择了每个项目):
Uninstall-Package EntityFramework -Force
然后为每个项目安装它:
Install-Package EntityFramework
装完之后,继续Enable-Migrations,万一不行,重启vs,再执行。 如果页面还报错,执行步骤2.
步骤2:
成功运行Enable-Migrations,此命令已将Migrations文件夹添加到我们的项目中,此新文件夹包含两个文件:配置类,InitialCreate迁移。此时还是报上面的错。接下来运行
add-migration AddDataAnnotationsMig
update-database
这两个命令,运行。浏览器可正常访问.cshtml