开始安装EF7的包,如下图所示:
使用kpm来安装ef7使用Sql Server作为存储的实现(你可以在*inux平台使用EntityFramework.InMemery去存储数据)。安装完成后,可以看到project.json已经改变。为了更方便的使用EF,EF团队给我们开发了一个命令包,你可以安装这个命令包来轻松创建数据访问的代码。下面的命令来安装EntityFramework.Commands,如下图所示:
使用命令来生成代码。这块儿算是比较酷的,相对于之前版本的.NET,这一点儿算是很好的学习别的语言亮点。下面我们需要编辑一下project.json来添加一个命令,用来通过ef生成代码,如下图所示:
和k web类似,我们可以通过 k ef来创建DbContent文件和对应的SQL语句。不过先通过 k ef来看一个神奇的事情,如下图所示:
可以看到k ef对应的有三个子命令,context和migration以及帮助命令。context命令是无法创建DbContext的,所以需要手动创建一个DbContext,MyDbContext.cs文件,如下图所示:
接下是执行migration命令,使用migration来生成code-first的代码。执行k ef migration add “initial”命令,如下图所示:
查看代码文件件,可以看到新生成了如下文件,如下图所示:
最后我们需要通过apply子命令,来生成数据库中对应的表,如下图所示:
执行:k ef migration apply,如下图所示:
数据库中对应的表自动创建成功,如下图所示:
接下来就可以使用EF进行数据访问了。EF集成到Dependency Injection。。下面需要做的就是把EF相关的内容注入到.NET5的默认容器中,以方便构造函数注入。修改project.json如下图所示:
修改Controller和添加Views文件夹。接下来就可以修改Controller和添加Views了。HomeController文件,如下图所示:
对应的View文件,如下图所示:
最后使用K web运行应用程序,如下图所示: