使用VS 2017 搭建 EF Core 项目笔记

一、查看开发环境

1、查看EF Core 版本。在 "程序包管理器控制台(Visual Studio NuGet Package Manager Console)" 或者 “CMD” 运行dotnet ef --version

 Entity Framework Core .NET Command-line Tools
 2.1.4-rtm-31024

2、执行命令Install-Package Microsoft.EntityFrameworkCore.Tools,安装EF Core 工具
再次查看EF Core 版本

 Entity Framework Core .NET Command-line Tools
 2.1.4-rtm-31024

The EF Core tools version '2.1.1-rtm-30846' is older than that of the runtime '2.1.3-rtm-32065'.

如果后面的步骤出现上面的问题,再执行Update-Package Microsoft.EntityFrameworkCore.Tools更新到最新

参考链接:https://stackoverflow.com/questions/52108659/need-to-update-ef-core-tools/52132251
参考链接:https://docs.microsoft.com/zh-tw/ef/core/miscellaneous/cli/powershell

二、安装 Entity Framework Core

参考:https://code.msdn.microsoft.com/How-to-using-Entity-1464feea

快速预览
   At menu bar Tools -> NuGet Package Manager -> Package Manager Console
   Run Install-Package Microsoft.EntityFrameworkCore.SqlServer
   Run Install-Package Microsoft.EntityFrameworkCore.Tools 
   Run Install-Package Microsoft.EntityFrameworkCore.SqlServer.Design

1、Installing Entity Framework Core
安装Install-Package Microsoft.EntityFrameworkCore.SqlServer
To update the provider, use the Update-Package command

To specify a specific version, use the Version modifier. For example, to install EF Core 2.1.0 packages, append -Version 2.1.0 to the commands
官方链接https://docs.microsoft.com/en-us/ef/core/get-started/install/

2、Code First 数据先行,映射数据库到model
执行如下命令
Scaffold-DbContext "Server=.; Initial Catalog=DBName; Persist Security Info=True; User ID=testUser; Password=****;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

官网参考:https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db

三、基础配置

1、asp.net core 有一个 status code middleware StatusCodePages, 在Startup.cs中添加StatusCodePagesapp.UseStatusCodePages(); // status code middleware

2、修改数据库连接,读取配置文件
参考链接:https://cloud.tencent.com/developer/ask/173660

基础知识
  where T : struct                               T必须是一个结构类型
  where T : class                               T必须是一个类(class)类型
  where T : new()                               T必须要有一个无参构造函数
  where T : NameOfBaseClass          T必须继承名为NameOfBaseClass的类
  where T : NameOfInterface             T必须实现名为NameOfInterface的接口

EF封装参考

1、https://blog.csdn.net/xjn030594/article/details/81028416
2、https://blog.csdn.net/elie_yang/article/details/81809607
3、https://www.cnblogs.com/colder/p/4194838.html
4、官网https://docs.microsoft.com/zh-tw/ef/core/saving/basic
5、官网https://docs.microsoft.com/zh-tw/ef/core/miscellaneous/cli/powershell

EF Code First 参考

https://blog.csdn.net/G_Q_L/article/details/77506220

EFCore 多对多配置参考

https://blog.csdn.net/fanbin168/article/details/81745861

你可能感兴趣的:(使用VS 2017 搭建 EF Core 项目笔记)