2016-01-05 66 views
0

我正在關注Building a Web App with ASP.NET 5, MVC 6, EF7 and AngularJS上的Pluralsight課程,並且在配置到現有Oracle數據庫的數據庫連接時遇到問題。在EF7中配置Oracle數據庫訪問

我正在使用的工具是Visual Studio Code,腳手架由Yeoman和包依賴關係爲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文件中添加實體框架服務:

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數據庫。

這甚至可能嗎?

非常感謝先進。

回答

2

目前EF7沒有Oracle提供商,您使用的包是EF6。

電流供應商在這裏列出:http://docs.efproject.net/en/latest/providers/index.html - 但我希望更多地圍繞EF7的RTM出現在第一季度2016

+0

謝謝埃裏克。 這是否意味着解決方案只是將project.json中的包降級到實體框架的版本6,並保持Oracle包現在的狀態? –

+0

不,更像是:https://docs.asp.net/en/latest/data/entity-framework-6.html – ErikEJ