在C#中使用EF6连接Oracle时,可以通过在运行时指定login和password来实现。下面是一个示例代码:
using System;
using System.Data.Entity;
namespace OracleEF6Demo
{
public class OracleDbContext : DbContext
{
public OracleDbContext(string connectionString) : base(connectionString)
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("YOUR_SCHEMA_NAME");
base.OnModelCreating(modelBuilder);
}
public DbSet<YourEntity> YourEntities { get; set; }
}
public class YourEntity
{
public int Id { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source=YOUR_ORACLE_CONNECTION_STRING;User Id=YOUR_USERNAME;Password=YOUR_PASSWORD;";
using (var context = new OracleDbContext(connectionString))
{
// 在这里进行数据库操作
// 例如:var entities = context.YourEntities.ToList();
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
在上述代码中,首先创建了一个名为OracleDbContext
的类,继承自DbContext
。在构造函数中,通过传入的连接字符串来初始化数据库上下文。然后,通过重写OnModelCreating
方法,可以指定数据库中的默认模式(schema)。
接下来,定义了一个名为YourEntity
的实体类,用于映射数据库中的表。你可以根据自己的实际需求定义更多的实体类。
在Main
方法中,创建了一个连接字符串,其中包含了Oracle数据库的连接信息,包括Data Source、User Id和Password。然后,使用这个连接字符串实例化了OracleDbContext
。在使用数据库上下文进行数据库操作时,可以通过context.YourEntities
来访问相应的实体集合。
请注意,上述代码中的YOUR_SCHEMA_NAME
、YOUR_ORACLE_CONNECTION_STRING
、YOUR_USERNAME
和YOUR_PASSWORD
需要根据实际情况进行替换。
推荐的腾讯云相关产品:腾讯云数据库 TencentDB for Oracle,详情请参考腾讯云数据库 Oracle。
领取专属 10元无门槛券
手把手带您无忧上云