Пользователь пока ничего не рассказал о себе

Достижения

Все достижения (1)

Наибольший вклад в теги

Все теги (4)

Лучшие ответы пользователя

Все ответы (2)
  • Как организовать выбор базы данных при использовании Entity Framework?

    @BladeRuner Автор вопроса
    Нашел интересное решение своей проблемы. Спешу поделиться мини-туториалом.

    1. Открываем файл [имя модели].Context.cs и находим там следующий код:
    public partial class MainDataModel : DbContext
    {
        public MainDataModel()
            : base("name=MainDataModel")
        {
        }
    ...

    2. После основного конструктора добавляем свой:
    public MainDataModel(string databaseName)
    {
        Database.Connection.ConnectionString = @"Data Source=MySQLServer;Initial Catalog=" + databaseName + ";Integrated Security=True"; 
    }

    3. Теперь можно создавать контексты в таком виде:
    using (var context = new MainDataModel("MyFirstDatabase"))
    {
      ...
    }
    
    using (var context = new MainDataModel("MySecondDatabase"))
    {
      ...
    }


    Надо сказать, что это решение попахивает каким-то грязным хаком и надругательством над EF, но других вариантов я пока не нашел.

    UPD:
    Любое изменение модели приведет к перезаписи файла [имя модели].Context.cs, поэтому лучше вынести это все в код формы или во вспомогательный класс.
    Ответ написан
    Комментировать

Лучшие вопросы пользователя

Все вопросы (2)