四时宝库

程序员的知识宝库

Efcore for oracle 连接数据库的配置方法

一、DbContext 重写OnConfiguring虚方法进行数据库的连接,注意这种方法的优先级高于program中用builder.Services.AddDbContext<DeptContext>注册的服务。

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
string con = "Data source=200.200.200.11:1521/oracle;user id=admin;password=manager";
optionsBuilder.UseOracle(con, p => p.UseOracleSQLCompatibility("11"));
}

二、在program中注册AddDbContext。

1、program中注册DeptContext

string con = builder.Configuration.GetConnectionString("oracle");//从配置文件中获取数据库的连接字符串
builder.Services.AddDbContext<DeptContext>(p => p.UseOracle(con, g => g.UseOracleSQLCompatibility("11")));
//连接oracle数据库,并指定oracle的版本号11

2、必须为DeptContext创建带参数(DbContextOptions<DeptContext> options)的构造方法

public DeptContext(DbContextOptions<DeptContext> options):base(options)
{}

DeptContext类必须公开具有 DbContextOptions<DeptContext> 参数的公共构造函数。 这是将 AddDbContext 的上下文配置传递到 DbContext 的方式,否则程序启动会报错。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接