我正在關注Building a Web App with ASP.NET 5, MVC 6, EF7 and AngularJS上的Pluralsight課程,並且在配置到現有Oracle數據庫的數據庫連接時遇到問題。在EF7中配置Oracle數據庫訪問
我正在使用的工具是Visual Studio Code,腳手架由Yeoman和包依賴關係爲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數據庫。
這甚至可能嗎?
非常感謝先進。
謝謝埃裏克。 這是否意味着解決方案只是將project.json中的包降級到實體框架的版本6,並保持Oracle包現在的狀態? –
不,更像是:https://docs.asp.net/en/latest/data/entity-framework-6.html – ErikEJ