如何在 DbContext 中手动设置 Oracle 连接字符串

2024-01-12

我有以下连接字符串:

<add name="DataContext" connectionString="DATA SOURCE=Server;
PASSWORD=123;USER ID=SYSTEM" providerName="Oracle.DataAccess.Client"/>

我的业务逻辑决定我需要手动读取数据库的连接字符串:

class MyDbContext: DbContext
{
    public MyDbContext() : 
    base(ConfigurationManager.ConnectionStrings["DataContext"].ConnectionString){}
    ...
}

它可以与 Sql Server 一起正常工作,但是当我更改为 Oracle 连接字符串时,它不起作用。发生这种情况是因为 DbContext 尝试使用 Oracle ConnectionString 连接 Sql Server 数据库,因为它没有收到提供者名称。

有人知道如何解决这个问题吗?


要使用 Oracle 创建 DbContext 而不使用 WebConfig,DbContext 的继承必须将 Oracle Connection 注入到基本构造函数中:

class MyDbContext: DbContext
{
    public MyDbContext() : base(new OracleConnection("DATA SOURCE=Server; PASSWORD=123;USER ID=SYSTEM"){}
    ...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 DbContext 中手动设置 Oracle 连接字符串 的相关文章

随机推荐