开始搭建
1、在 Visual Studio 2017 中创建新项目
- “文件”>“新建”>“项目”
- 从左侧菜单中选择“已安装”>“模板”>“Visual C#”>“.NET Core”。
- 选择“ASP.NET Core Web 应用程序”。
- 输入“EFGetStarted.AspNetCore.NewDb”作为名称,然后单击“确定”。
- 在“新建 ASP.NET Core Web 应用程序”对话框中:
- 确保在下拉列表中选择“.NET Core”和“ASP.NET Core 2.0”选项
- 选择“Web 应用程序(模型视图控制器)”项目模板
- 确保将“身份验证”设置为“无身份验证”
- 单击“确定”
2、安装 Entity Framework Core
- 工具”>“NuGet 包管理器”>“包管理器控制台”
1.1、安装数据库程序(注意版本注意版本注意版本,与netcore2.1版本一致)
MsSql
运行:Install-Package Microsoft.EntityFrameworkCore.SqlServer
MySql
运行:
Install-Package Pomelo.EntityFrameworkCore.MySql
1.2、安装程序包管理器控制台
运行:Install-Package Microsoft.EntityFrameworkCore.Tools
DB First——从现有数据库创建模型(如果强制覆盖已有的类,请加参数-f)
Scaffold-DbContext -Connection "Server=*;port=3306;User Id=*;Password=*;Database=mqtt_clients;" -Tables "users" -Provider "Pomelo.EntityFrameworkCore.MySql" -Context MyDbConetxt -Project "DTCore_EF_MySql"
最终效果:
3:创建标准的web应用,进行使用
①在appsettings.json配置数据库的地址信息,注意 SslModel=none例如
"MySqlConnection": "Database='***';Data Source=****;User ID=***;Password=***;CharSet=utf8;SslMode=None"
② 在startup.cs 配置注入,其中有用到一些引用 顺手引用一下
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
//ef mysql 配置
services.AddDbContext<drewtestContext>(options => options.UseMySql(Configuration.GetConnectionString("MySqlConnection")));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}
③之后就是标准的调用,例如在控制器中的使用
public class HomeController : Controller
{
drewtestContext _content;
public HomeController(drewtestContext context)
{
_content = context;
}
public IActionResult Index()
{
List<SctonlyHome> list_sctonlyHomes = _content.SctonlyHome.ToList();
return View();
}
}
到此就是基础的EF core mysql入门配置了