- 新建.netcore 2.1版本的MVC项目:
- 在项目中的“appsettings.json”和“appsettings.Development.json”文件中插入:
“ConnectionStrings”: {
“Database”: “Server=127.0.0.1;User Id=xxx;Password=xxxxxx;Database=xxxxx;”
}
*根据环境(正式、测试)不同,xxxx替换为需要使用数据库的对应内容,userid为登入名,password为密码,database为项目对应数据库*
3. 为项目添加以下NuGet引用(保证最新版):
Microsoft.EntityFrameworkCore
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.Tools
MySql.Data.EntityFrameworkCore
MySql.Data.EntityFrameworkCore.Design
Pomelo.EntityFrameworkCore.MySql
4. 添加完成后在VS工具中的程序包管理控制台中执行下面的语句:
Scaffold-DbContext "Server=127.0.0.1;User Id=xxx;Password=xxxxx;Database=xxx;" "Pomelo.EntityFrameworkCore.MySql" -OutputDir Models -force
这里需替换可以使用的数据库对应的信息,其中”Models”为需要放入的文件夹, “-force”为替换文件夹中所有重复文件
5. 执行完以上语句后会在语句指定的目录中看到自动生成的数据库实体等文件
6. 打开Startup.cs, 在ConfigureServices中增加:
string connstr = Configuration.GetConnectionString("Database");
services.AddDbContextPool<YourDbContext>(// replace "YourDbContext" with the class name of your DbContext
options => options.UseMySql(connstr,
mysqlOptions =>
{
mysqlOptions.ServerVersion(new Version(5, 7, 17), ServerType.MySql);
}
));
7. 在controller中可以参照以下进行使用:
using(var DB = new YourDbContext())
{
var list = DB.tablename.where(a=>a.id=1).ToList();
foreach(var item in list)
{
}
}