我正在学习关于使用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会出现更多