本文以 EF6+控制台程序示范
0x00.示例项目结构
![项目结构](/uploads/Entity Framework 之 CodeFirst 模式/EFCodeFirst 项目结构.png)
0x01.新建控制台项目
0x02.添加 EF6
打开“程序包管理器控制台”,位置 工具–NuGet 程序包管理器–程序包管理器控制台
输入 install-package entityFramework , 如图
![程序包管理器控制台](/uploads/Entity Framework 之 CodeFirst 模式/EFCodeFirst 程序包管理器控制台.png)
0x03.配置连接字符串
把链接字符串放到 app.config 中,配置 DbContext 会用到。
1 | <connectionStrings> |
0x04.创建 Model 实体
创建 TestModel(名称随意)
1 | namespace CodeFirstDemo |
0x05.创建上下文对象
新建 NONEContext(名称随意),继承自 DbContext,添加 DbSet 如下
1 | namespace CodeFirstDemo |
0x06.在 Main 函数中运行
创建数据库。
1 | static void Main(string[] args) |
0x07.总结
配置链接字符串很重要,之前配置好多 都不行
如
1 | <!--<add name="NONEConnection" providerName="System.Data.EntityClient" connectionString="Data Source=localhost; Initial Catalog=CODEFIRST; user id=sa; password=root;" />--> |
以后只需要添加 Model,在 NoneContext 中添加 Dbset 即可
2018 年 3 月 23 日 14:50:23 更新
01.使用数据库迁移
001.打开 NuGet Package Manager – Package Manager Console 并把项目更改到数据上下文所在的项目
1 | enable-migrations #会生成一个Migrations 并多出一个 Configuration.cs |
002.时间戳_AddTestModel.cs 文件,无需修改,主要包含了 Up 和 Down 方法 增加或者修改 model 类,或者修改 model 类的属性,需要执行 add-migration 和 update-database 方法
003.Configuration.cs 文件的 Seed 方法 用于初始化数据
004.设置自动迁移
1 | ···· class Configutation : ···· |
005.版本回溯
1 | Update-Database –TargetMigration: AddUser |