Настройка доступа к базе данных Oracle в EF7

Я прохожу курс Pluralsight по Создание веб-приложения с ASP.NET 5, MVC 6, EF7 и AngularJS, и у меня возникли проблемы с настройкой соединений базы данных с существующей базой данных Oracle.

Я использую инструмент Visual Studio Code, созданный Yeoman и зависимости пакетов от NuGet и Бауэр.

В руководстве предполагается, что вместо Oracle используется SqlServer, поэтому все необходимые настройки нацелены на него. Я искал ВЕЗДЕ руководство, но, к сожалению, безрезультатно.

Прямо сейчас мой файл 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);
    }

И, наконец, добавление службы Entity Framework в файл 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 и позволить веб-приложению хранить и извлекать информацию из существующей базы данных Oracle.

Это вообще возможно?

Заранее большое спасибо.


person Nelladel    schedule 05.01.2016    source источник


Ответы (1)


В настоящее время поставщик Oracle для EF7 отсутствует, пакет, который вы используете, предназначен для EF6.

Текущие поставщики перечислены здесь: http://docs.efproject.net/en/latest/providers/index.html — но я ожидаю, что в первом квартале 2016 года вокруг RTM EF7 появится больше.

person ErikEJ    schedule 05.01.2016
comment
Спасибо, Эрик. Означает ли это, что решение будет состоять в том, чтобы просто понизить пакеты в project.json до версии 6 Entity Framework и оставить пакеты Oracle такими, какие они есть сейчас? - person Nelladel; 06.01.2016