Задать вопрос
  • Delphi или Visual Stadio для написания приложения, для работы бд MS SQL ?

    @BladeRuner
    Добавлю к @alexeykiselev.
    Если WPF покажется тяжким, то можете писать приложение на WinForms. Но остальные технологии сохраняем как есть. C#+EF очень мощная штука!
    Ответ написан
  • Как организовать выбор базы данных при использовании 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, поэтому лучше вынести это все в код формы или во вспомогательный класс.
    Ответ написан
    Комментировать