关于Entity Framework使用的简单例子

时间:2024-03-26 20:34:08

一、创建Code First模型

1.创建工程,这里我使用的是以.NET 4.0为目标的实体Web应用程序

关于Entity Framework使用的简单例子

2.安装Entity Framework

确保已安装NuGet,选择NuGet套件管理员>管理方案的NuGet套件,搜索并安装Entity Framework,

这时,会安装最新版的Entity Framework,并应用到刚新建的工程项目中。

关于Entity Framework使用的简单例子

关于Entity Framework使用的简单例子

若之前已经安装过Entity Framework,需要将Entity Framework整合到当前项目的话,请选择

NuGet套件管理员>套件管理器主控台,键入:
PM > Install-Package EntityFramework

需要注意的是整合完成后需要手动添加System.Data.Entity dll参考,因为在整合过程中会将其移除。

3.安装Entity Framework Power Tool

工具>扩展管理员中搜索并安装Entity Framework Power Tool

安装完成后在项目名称上右键会出现Entity Framework > Reverse Engineer Code First

关于Entity Framework使用的简单例子

4.使用Entity Framework > Reverse Engineer Code First将现有数据库生成domain Class

(至于如何生成数据库,可以新建一个工程并利用Model Designer设计完成,从模型生成数据库)

关于Entity Framework使用的简单例子

完成后会出现Model文件夹,且在web.config中会加入一个连接字符串

关于Entity Framework使用的简单例子

至此就完成了初始设计工作。

二、使用Migration进行数据模型更改

利用Code First更改数据库模型

1.启用Migration

同样在套件管理器主控台中输入

PM> Enable-Migrations

会加入一个Migration的文件夹

关于Entity Framework使用的简单例子

2.修改初始化信息

在生成的DBContext.cs文件中,

修改静态构造函数中的Database.SetInitializer<XXXDBContext>(null);

为Database.SetInitializer<XXXDBContext>(new MigrateDatabaseToLatestVersion<XXXDBContext, 工程项目名称.Migrations.Configuration>("刚建立的连接字符串名称"));

3.加入Migration(XXXSchemaName为任意指定名称)

PM> add-migration XXXSchemaName

成功后显示如下,同时注意到在Migration文件夹下自动生成了一个带有日期的cs文件

关于Entity Framework使用的简单例子

4.同步Migrations到数据库

PM> update-database -Verbose

在第一次运行时会创建数据库,但因为数据库中已经存在了该数据库,请更换数据库连接字串或者删除数据表再运行,

之后的update行为则不存在该问题。

5.还原迁移

update-database -TargetMigration:"First School DB schema"