博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在ASP.NET Core 2.0 web项目中使用EntityFrameworkCore
阅读量:5052 次
发布时间:2019-06-12

本文共 2064 字,大约阅读时间需要 6 分钟。

一、安装EFCode包

  EFCore需要根据不同的数据库选择不同的数据库提供程序database provider,各数据库的包地址:

使用sqlserver数据库使用的是包,支持SQL Server 2008 及以上版本

包依赖Microsoft.EntityFrameworkCore 和Microsoft.EntityFrameworkCore.Relational两个包

  新建Core2 Web Application (Model-View-Controller)项目,  已经默认安装到了 元包里面,不需要再次安装

二、建立实体并添加EF上下文

  给每个实体创建一个DbSet属性,每一个Dbset相当于数据库的一张表,每一个实体相当于数据库的一行

public class EFDbContext : DbContext    {        public EFDbContext(DbContextOptions
options) : base(options) { } public DbSet
Admins { get; set; } public DbSet
Companies { get; set; }}

  可以重写DbContext的OnModelCreating来指定实体对应的数据库表名,默认数据库使用实体的复数做为表名

protected override void OnModelCreating(ModelBuilder modelBuilder)        {            modelBuilder.Entity
().ToTable("Admin"); }

三、在DI注册EF上下文,Startup.cs文件里面的ConfigureServices方法里面注册EF上下文

  

public class Startup    {        public Startup(IConfiguration configuration)        {            Configuration = configuration;        }        public IConfiguration Configuration { get; }        // This method gets called by the runtime. Use this method to add services to the container.        public void ConfigureServices(IServiceCollection services)        {                        services.AddDbContext
(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); services.AddMvc().AddJsonOptions(option => { option.SerializerSettings.ContractResolver = new Newtonsoft.Json.Serialization.DefaultContractResolver(); } ); }

数据库连接配置在appsettings.json文件里面:

"ConnectionStrings": {    "DefaultConnection": "Data Source=.\\SQLExpress;Initial Catalog=DbTest;User ID=sa;Password=sa"  },

DI会在创建控制器时,通过构造函数注入EF上下文,

public class AdminsController : SysBaseController    {        private readonly EFDbContext _context;        public AdminsController(EFDbContext context)        {            _context = context;        }}

 

  

 

转载于:https://www.cnblogs.com/tangchun/p/8758851.html

你可能感兴趣的文章
[置顶] 细说Cookies
查看>>
[wp7软件]wp7~~新闻资讯,阅读软件下载大全! 集合贴~~~
查看>>
二叉树的遍历问题总结
查看>>
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
查看>>
绝对定位
查看>>
dpkg 删除 百度网盘 程序
查看>>
pytho logging
查看>>
看看 Delphi XE2 为 VCL 提供的 14 种样式
查看>>
Python内置函数(29)——help
查看>>
机器学习系列-tensorflow-01-急切执行API
查看>>
《大道至简》读后感——论沟通的重要性
查看>>
java中Hashtable和HashMap的区别(转)
查看>>
对Feature的操作插入添加删除
查看>>
git使用中的问题
查看>>
yaml文件 .yml
查看>>
linux字符集修改
查看>>
phpcms 添加自定义表单 留言
查看>>
mysql 优化
查看>>
WCF 配置文件
查看>>
oracle导出/导入 expdp/impdp
查看>>