一,通过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); ???????} ???}}
下一步我们就要通过Controller把数据呈现出来,在这里我们要把数据库连接放到appsettings.json配置文件里
{ ???"ConnectionStrings": { ???????"connstr": "Data Source=.;Initial Catalog=test1;User ID=*****; Password=**********" ???}, ???"Logging": { ???????"IncludeScopes": false, ???????"LogLevel": { ???????????"Default": "Warning" ???????} ???}}
修改一下项目启动文件Startup.cs:
public void ConfigureServices(IServiceCollection services) ???????{ ???????????services.AddMvc(); ???????????//配置上下文 ???????????services.AddDbContext<test1Context>(options => options.UseSqlServer(Configuration.GetConnectionString("connstr"))); ???????????//默认类库声明周期 ???????????services.AddScoped(typeof(BookService)); ???????}
新建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}]") ; ???????} ???}
结果:
^v^是不是很开森
Aspnetcore2.0中Entityframeworkcore及Autofac的使用(二)(附Demo)(
原文地址:https://www.cnblogs.com/MrLiu90/p/10062468.html