ef core如何使用,命令生成的连接字符串注入到startup中
程序员文章站
2022-03-27 08:40:10
通过ef core的db first进行数据库开发时,需要先连接数据库创建ef的模型,ef core通过组件执行命令方式自动生成模型和连接,很方便。我们也可以把连接的字符串注入到startup中进行管理。...
通过ef core的db first进行数据库开发时,需要先连接数据库创建ef的模型,ef core通过组件执行命令方式自动生成模型和连接,很方便。我们也可以把连接的字符串注入到startup中进行管理。
一、 EF Core实体框架核心安装:
工具> NuGet软件包管理器>软件包管理器控制台
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design
安装成功后就可以在Nuget依赖项中看到
二、执行一个命令就可以自动生成数据库模型了
Scaffold-DbContext "Server=.;Database=Food;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
该命令会在model的文件夹下生成数据库表的模型对象和数据库上行文文件
现在就可以开始使用ef了,进行数据库的读取操作代码编写了
FoodContext fc = new FoodContext(); List<ProType> ptlist = fc.ProType.ToList(); ViewBag.ptlist = ptlist; return View();
三、还可以通过依赖注入装载ef数据库上下文对象
删除掉命令生成的如下代码
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { //#warning To protect potentially sensitive information in your connection string, you should move it out of source code. See http://go.microsoft.com/fwlink/?LinkId=723263 for guidance on storing connection strings. optionsBuilder.UseSqlServer(@"Server=.;Database=Food;Trusted_Connection=True;"); }
在startup.cs的configureServices方法中添加依赖注入
services.AddDbContext<DBContexts.FuturesContext>(option => { option.UseSqlServer("Data Source=.;Initial Catalog=Futures;Persist Security Info=True;User ID=sa;PWD=123"); });
在需要访问数据库的文件中注入上下文对象
private readonly DBContexts.FuturesContext cfc; public HomeController(ILogger<HomeController> logger,DBContexts.FuturesContext context) { _logger = logger; cfc = context; }
接下来就可以进行数据库的对象访问操作了。