我在Building a Web App with ASP.NET 5, MVC 6, EF7 and AngularJS上关注Pluralsight课程,但我在配置与现有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
文件中添加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数据库的信息。
这甚至可能吗?
非常感谢先进。
答案 0 :(得分:2)
目前没有针对EF7的Oracle提供商,您使用的软件包适用于EF6。
此处列出了当前的提供商:http://docs.efproject.net/en/latest/providers/index.html - 但我希望2016年第一季度在EF7的RTM周围出现更多