本文环境:vs2017 win10 .NET CORE 2.14
其次,如果你是Windows7系统 那么需要升级你的Windows PowerShell到3.0+的版本
然后你需要安装相关的工具包,从NuGet下载即可如下图:
为了方便你们复制..我列一下:
Microsoft.EntityFrameworkCore EF框架核心包
Microsoft.EntityFrameworkCore.SqlServer sql数据库需要,类似的还有mysql、oracle。
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer.Design
然后,我们在VS的工具选项中,选择NuGet包管理器,选择程序包管理控制台
输入命令行:
Scaffold-DbContext "这里输入你的数据库连接字符串" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
Models 是生成该项目下的Models文件内。
这里面就是你的上下文对象和相关的实体类了.
我们进到上下文对象,会发现自己的连接字符串是固化在这里面的,如图:
连接字符串当然不能在这里写死,可以在Startup.cs里获取appsettings.json配置文件存在缓存里,直接使用。
在配置文件里添加连接字符串
"ConnectionStrings": { "SchoolConnection": "Server=*;database=***;pwd=***;uid=***" }
然后我们在Startup中注入我们的上下文对象:
在ConfigureServices()方法中注入,代码如下:
public void ConfigureServices(IServiceCollection services) { Connection.Conndb = Configuration.GetConnectionString("SqlServer"); //配置EF的服务注册 services.AddDbContext<DbContext>(options => { options.UseSqlServer(Connection.Conndb, //读取配置文件中的链接字符串 b => b.UseRowNumberForPaging()); //配置分页 使用旧方式 }); services.AddMvc(); }
然后就可以像,EF6那样使用了
Context db = new Context(); var result = db.User.Where(a=>a.Id!=0); string str = null; foreach (var item in result) { str += item.RealName; }