我们常用 .NET 做 Web 应用,然而有时需要做一些逻辑上的测试(例如测试EF 7),所以我们有时会选择使用 ConsoleApp 来简单测试一些东西。
此文记录 ConsoleApp 的创建以及 EF 7 的配置过程。
新建 .NET 的 Web 应用
首先,我们从 Visual Studio 2015 新建一个控制台应用程序(如图)。
安装 Entity Framework 7
我们此处以Entity Framework For Microsoft SQL Server 为例。
安装 EntityFramework.MicrosoftSqlServer 程序包
可以手动在 工具 ‣ NuGet 包管理器 ‣ 管理解决方案的 NuGet 包 中搜索 EntityFramework.MicrosoftSqlServer 并选择安装,也可以选择 工具 ‣ NuGet 包管理器 ‣ 程序包管理器控制台 ,通过 Install-Package 命令 手动添加:
1 | PM> Install-Package EntityFramework.MicrosoftSqlServer –Pre |
这样就安装好了 EF 7 For SQL Server 的依赖库。
连接数据库
需要在自己定义的 DbContext 类中重写 OnConfiguring 方法。
此处以 在 (localdb)\mssqllocaldb 上创建一个名叫 EFGetStarted.ConsoleAppFortest.DbForTest 的数据库 为例。
1 | public class AppDbContext : DbContext |
接下来有两种方案,代码创建和手动添加 Migration。
代码创建 Migration
在创建完自己的 DbContext 对象后,通过调用该对象的 Database.EnsureCreated() 方法保证 Migration 被创建。
1 | public static void Main(string[] args) |
这时配置便已经完成,可以运行了。
手动添加 Migration
手动添加 Migration 需要安装一个包并注册一个命令:
1 | PM> Install-Package EntityFramework.Commands –Pre |
并在 project.json 的 commands 里添加
1 | "ef": "EntityFramework.Commands" |
接着就可以在 NuGet 命令行里添加 Migration 了(新的 Migration 命名为 MyFirstMigration ):
1 | PM> Add-Migration MyFirstMigration |
我在执行 Add-Migration 的时候出现了一点意外,无法识别这一命令,于是我直接打开了 工作目录/src/项目名称/ 文件夹,在这里使用了命令行:
1 | 工作目录/src/项目名称>dnx ef migrations add MyFirstMigration |
此时就在用户文件夹下生成了对应的数据库文件。
这时,配置工作全部完成。
当下次修改了数据库结构时,需重新创建 Migration 并 Update 。