在EF7中配置Oracle数据库访问



我正在学习关于使用ASP.NET 5、MVC 6、EF7和AngularJS构建Web应用程序的Pluralsight课程,在配置与现有Oracle数据库的数据库连接时遇到问题。

我使用的工具是Visual Studio Code、Yeoman的scaffold和NuGet和Bower的包依赖关系。

本教程假设使用的是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文件中添加实体框架服务:

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数据库中的信息。

这可能吗?

非常感谢。

当前没有用于EF7的Oracle提供程序,您使用的包用于EF6。

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

最新更新