在EF7中配置Oracle数据库访问

时间:2016-01-05 13:32:12

标签: asp.net json asp.net-mvc oracle entity-framework-core

我在Building a Web App with ASP.NET 5, MVC 6, EF7 and AngularJS上关注Pluralsight课程,但我在配置与现有Oracle数据库的数据库连接时遇到了问题。

我使用的工具是Visual Studio CodeYeoman的脚手架和NuGetBower的包依赖。

本教程假设使用SqlServer而不是Oracle,因此所有必要的配置都是针对它的。我一直在寻找指导,但遗憾的是无济于事。

现在我的project.json文件包含以下内容(已修剪):

"dependencies": {

  [...]

  "EntityFramework.Commands": "7.0.0-rc1-final",
  "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
  "EntityFramework.Oracle.Rdb": "7.3.4.0",
  "Oracle.ManagedDataAccess.EntityFramework": "12.1.2400",
  "OracleDbConnect": "1.0.0.0"
},

我的config.json包含以下内容:

"Data": {
        "WorldContextConnection" : "Server=;Database=TheWorldDb;Trusted_Connection=;MultipleActiveRecordSets=true"
    }

本教程指定WorldContext.cs中的数据库上下文应包含一个覆盖OnConfiguring的方法,如下所示:

protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        var connString = Startup.Configuration["Data:WorldContextConnection"];
        optionsBuilder.UseSqlServer(connString);
        base.OnConfiguring(optionsBuilder);
    }

最后,在startup.cs文件中添加Entity Framework服务:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc();
    services.AddScoped<TheWorld.Services.IMailService, TheWorld.Services.DebugMailService>();
    services.AddEntityFramework()
    .AddSqlServer()
    .AddDbContext<WorldContext>();

}

我需要使用我导入到project.json的依赖项来配置Oracle服务,并允许Web应用程序存储和检索来自现有Oracle数据库的信息。

这甚至可能吗?

非常感谢先进。

1 个答案:

答案 0 :(得分:2)

目前没有针对EF7的Oracle提供商,您使用的软件包适用于EF6。

此处列出了当前的提供商:http://docs.efproject.net/en/latest/providers/index.html - 但我希望2016年第一季度在EF7的RTM周围出现更多