1

У меня есть одна проблема, которую я пытаюсь решить в течение нескольких дней, но я не могу получить правильный подход. Я использую EF4, и у меня есть одно приложение, в котором я использую DataBase First, изначально созданный ObjectContext, и я загрузил генератор DbContext и сгенерировал его.Первая конфигурируемая база данных EF4

Дело в том, что мне нужно приложение, чтобы иметь возможность получить базу данных SCHEMA из какого-либо файла конфигурации, а не ВСЕГДА, используя «dbo» по умолчанию. Я пытался использовать метод «ToTable» (поэтому я могу указать схему) в методе перегрузки «OnModelCreating», но как this article sais, поскольку я использую DataBase. Во-первых, этот метод не вызывается.

Как настроить конфигурационное имя схемы? Возможно ли это? Я также прочитал статью this, где говорится, что сначала я могу комбинировать базу данных сначала с кодом, но не могу понять, как это сделать, если я не могу использовать метод «OnModelCreating».

Большое спасибо!

ответ

0

Я не знаю о настройке схемы. Однако, если вы хотите, чтобы первый подход db был сначала изменен на код, просто измените строковый параметр вашего конструктора DbContext.

Предположим, что у вас есть следующий DbContext, что EF Db первый созданный для вас:

public class MyDbContext : DbContext 
{ 
    public MyDbContext() 
     : base("Name=DefaultConnection") 
    { 

    } 

    // DbSets ... 
} 

изменения, что следующий, чтобы начать использовать код первого и все магические инструменты него (миграция и т.д.):

public class MyDbContext : DbContext 
{ 
    public MyDbContext() 
     : base("YourDbFileName") 
    { 

    } 

    // DbSets ... 
} 

Это вызывает то, что EF создает новую строку подключения с помощью SQL Express на локальном компьютере в файле web.config с именем YourDbFileName, что-то так же, как в начале DefaultConnection Db первого созданного.

Все, что вам может понадобиться, чтобы продолжить свой путь, заключается в том, что вы редактируете YourDbFileName ConStr в соответствии с вашим сервером и другими параметрами.

Смежные вопросы