1.添加包引用:
Microsoft.EntityFrameworkCore.Relational
Oracle.EntityFrameworkCore
2.重写DbContext OnModelCreating
///
/// 判断如果是Oracle,需要执行Schema
///
///
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//判断当前数据库是Oracle 需要手动添加Schema(DBA提供的数据库账号名称)
if (this.Database.IsOracle())
{
modelBuilder.HasDefaultSchema(new SqlConnectionStringBuilder(Database.GetDbConnection().ConnectionString).UserID.ToUpper());
}
base.OnModelCreating(modelBuilder);
}
3.在DbContextConfigurer 中启用oracle连接
public static class EzxDbContextConfigurer
{
public static void Configure(DbContextOptionsBuilder builder, string connectionString)
{
//builder.UseSqlServer(connectionString);
builder.UseOracle(connectionString);