分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > IT知识

Aspnetcore2.0中Entityframeworkcore及Autofac的使用(二)(附Demo)(

发布时间:2023-09-06 02:25责任编辑:顾先生关键词:暂无标签

一,通过Entityframeworkcore中DbFirst模式创建模型

这里只说一下Entityframeworkcore中DbFirst模式创建模型,想了解CodeFirst的可以自行度娘,还是在原有项目中创建一个Model类库,然后通过通过vs中NuGet的程序包管理控制台执行

安装EntityFrameworkCore类工具包,:

Microsoft.EntityFrameworkCore.SqlServer

Microsoft.EntityFrameworkCore.SqlServer.Design

Microsoft.EntityFrameworkCore.Tools

注意安装以下类库版本需与AspNetCore.Model自建类库的Core版本相适应。

通过执行以下命令生成实体类与上下文

 Scaffold-dbcontext "Server=.;database=test1;Integrated Security=false;user id=****;password=*****" Microsoft.EntityFrameworkCore.SqlServer -outputdir Models

生成成功后要修改一下test1Context.cs中的代码

 //protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) ???????//{ ???????// ???if (!optionsBuilder.IsConfigured) ???????// ???{ ???????// ???????optionsBuilder.UseSqlServer(@"Server=zhang;database=test1;Integrated Security=false;user id=sa;password=123456"); ???????// ???} ???????//} ???????//自定义定义构造器 ???????public test1Context(DbContextOptions options):base(options) ???????{ ???????}

注意:每次更新数据库都要修改test1Context.cs中的代码

新建BookService.cs

namespace AspNetCore.Service{ ???public class BookService ???{ ???????private test1Context _context = null; ???????public BookService(test1Context context) ???????{ ???????????this._context = context; ???????} ???????public Book Get(long id) ???????{ ???????????return _context.Book.Find(id); ???????} ???}}
View Code

下一步我们就要通过Controller把数据呈现出来,在这里我们要把数据库连接放到appsettings.json配置文件里

{ ???"ConnectionStrings": { ???????"connstr": "Data Source=.;Initial Catalog=test1;User ID=*****; Password=**********" ???}, ???"Logging": { ???????"IncludeScopes": false, ???????"LogLevel": { ???????????"Default": "Warning" ???????} ???}}
View Code

修改一下项目启动文件Startup.cs:

 public void ConfigureServices(IServiceCollection services) ???????{ ???????????services.AddMvc(); ???????????//配置上下文 ???????????services.AddDbContext<test1Context>(options => options.UseSqlServer(Configuration.GetConnectionString("connstr"))); ???????????//默认类库声明周期 ???????????services.AddScoped(typeof(BookService)); ???????}
View Code

新建BookController中的代码:

public class BookController : Controller ???{ ???????//依赖注入 ???????private readonly BookService _service = null; ???????public BookController(BookService service) ???????{ ???????????this._service = service; ???????} ???????public IActionResult Index() ???????{ ???????????return Content($"第一本书的书名是[{_service.Get(1).Name}]") ; ???????} ???}
View Code

结果:

 ^v^是不是很开森

Aspnetcore2.0中Entityframeworkcore及Autofac的使用(二)(附Demo)(

原文地址:https://www.cnblogs.com/MrLiu90/p/10062468.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved