using Microsoft.EntityFrameworkCore;
SQL server 需要添加包 Microsoft.EntityFrameworkCore.SqlServer
MySql 需要添加包 Pomelo.EntityFrameworkCore.MySql
Oracle 需要引用 Citms.EntityFrameworkCore.Oracle (未验证)
创建类 DbEntitys 继承 DbContext
using Microsoft.EntityFrameworkCore;
public class DbEntitys: DbContext
{
///
/// 配置连接字符串,每次访问数据库之前会自动执行此方法,在这里配置连接字符串
/// 相当于连接前事件
/// 使用 IOC 注入的方式不实现此方法
///
///
protected override void OnConfiguring(DbContextOptionsBuilder builder)
{
// 连接字符串
string ConnString="xxx";
// 连接SqlServer
builder.UseSqlServer(ConnString);
// 连接MySql
//builder.UseMySql(ConnString);
}
///
/// 默认构造函数 使用方法与原来一样
///
public DbEntitys() : base() { }
///
/// 通过IOC
///
///
public DbEntitys(DbContextOptions options) : base(options)
{ }
#region 表映射
public virtual DbSet Tab1 { get; set; }
public virtual DbSet Tab2 { get; set; }
#endregion
}
使用
非IOC 与原来一样
//查询数据 DbEntitys db = new DbEntitys(); var a = db.Tab1.ToList();IOC
在 Program.cs
// 添加引用 using Microsoft.EntityFrameworkCore; var builder = WebApplication.CreateBuilder(args); // ↓↓↓↓↓ 在此范围内 ↓↓↓↓↓ var ConnString ="xxx"; //注入 builder.Services.AddDbContext(x=>x.UseSqlServer(ConnString)); // ↑↑↑↑↑ 在此范围内 ↑↑↑↑↑ var app = builder.Build();
在控制器 xxxController
////// 数据库操作实例 /// private readonly DbEntitys _db; ////// 构造函数获取实例 /// /// public xxxController(DbEntitys db) { _db = db; } [HttpGet(Name = "GetData")] public IEnumerableGet() { //查询数据 return _db.Tab1.ToList(); }



