在ASP.NET Core MVC中使用C#配置Oracle数据库连接
ASP.NET Core MVC中配置并使用Oracle数据库连接字符串
步骤1:安装Oracle数据库驱动
通过NuGet安装Oracle托管驱动包Oracle.ManagedDataAccess.Core,无需额外安装Oracle客户端即可连接:
Install-Package Oracle.ManagedDataAccess.Core
若使用EF Core操作Oracle,补充安装EF Core适配包:
Install-Package Oracle.EntityFrameworkCore
步骤2:配置服务(Program.cs)
.NET 6+框架会自动加载appsettings.json,无需额外配置文件加载逻辑。如果使用EF Core,可以直接在Program.cs中注册DbContext:
builder.Services.AddDbContext<YourDbContext>(options => { string connString = builder.Configuration.GetConnectionString("DBConn"); options.UseOracle(connString); });
步骤3:在控制器中获取并使用连接字符串
方式1:直接注入IConfiguration
在控制器构造函数中注入IConfiguration,直接读取连接字符串:
public class HomeController : Controller { private readonly IConfiguration _config; public HomeController(IConfiguration config) { _config = config; } public IActionResult Index() { string connString = _config.GetConnectionString("DBConn"); // 初始化Oracle连接并执行操作 using (var conn = new OracleConnection(connString)) { conn.Open(); // 编写数据库操作逻辑,比如执行Command等 } return View(); } }
方式2:使用自定义配置类(更规范)
创建配置类映射连接字符串节点:
public class DbConnectionSettings { public string DBConn { get; set; } }
在Program.cs中绑定配置:
builder.Services.Configure<DbConnectionSettings>(builder.Configuration.GetSection("ConnectionStrings"));
在控制器中注入IOptions<DbConnectionSettings>获取配置:
public class HomeController : Controller { private readonly DbConnectionSettings _dbSettings; public HomeController(IOptions<DbConnectionSettings> dbSettings) { _dbSettings = dbSettings.Value; } public IActionResult Index() { string connString = _dbSettings.DBConn; // 后续数据库操作逻辑 return View(); } }
注意事项
- 确保
appsettings.json中ConnectionStrings节点的键名DBConn与代码中调用的完全一致。 - 生产环境请勿将密码明文存储在配置文件中,建议使用环境变量、密钥管理服务等安全方式存储敏感信息。
内容的提问来源于stack exchange,提问作者Ann
相关产品推荐
相关产品推荐

