powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ef автоматическая миграция в инициализаторе. как?
11 сообщений из 11, страница 1 из 1
ef автоматическая миграция в инициализаторе. как?
    #37942049
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет. EF. CodeFirst. Не могу разобраться каким образом сделать правильно инициализатор так, чтоб правильно создались все таблицы, когда их нет, и одновременно работала автомиграция. не нашел толковых примеров, объединяющих и то, и то. Только упоминания, что тогда можно контроллировать конкретную версию бд. но как это делается нет. скиньте, плиз, ссылки, если кто на такое натыкался...
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942060
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь, не полностью описал задачу. Нужно чтоб не просто создавались таблицы, но и заполнялись определенными данными при включенной автомиграции. просто обычный Seed отрабатывает всегда...
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942400
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Следующим вопросом будет, как создать индексы?

Распространяй пустую базу (с заполненными классификаторами) вместе со своей программой.
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942548
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeevВсем привет. EF. CodeFirst. Не могу разобраться каким образом сделать правильно инициализатор так, чтоб правильно создались все таблицы, когда их нет, и одновременно работала автомиграция. не нашел толковых примеров, объединяющих и то, и то. Только упоминания, что тогда можно контроллировать конкретную версию бд. но как это делается нет. скиньте, плиз, ссылки, если кто на такое натыкался...

в твоем MyClassDbContext: DbContext

переопределить метод, и использовать modelBuilder.Conventions.Remove
Код: c#
1.
2.
3.
4.
 protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
}
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942616
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К,

при чем здесь программа?
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942653
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deza,

не очень понял зачем наоборот удалять EdmMetadata... мне вроде как надо наоборот, в соответствии с тем что там обеспечить правильную миграцию от версии к версии...
пересоздавать базу я не могу, база создается один раз на майкрософтовском windows-azure где-то в черт его знает где. даже в коннекшен-стринге там какие-то наборы цифр вместо имен...

ну на самом деле так и делал ранее:

Код: c#
1.
2.
3.
4.
5.
6.
    internal class DataContextInitializer : CreateDatabaseIfNotExists<DataContext>
    {
        protected override void Seed(DataContext context)
        {
               // здесь что-то заполняем
        }

и далее

Код: c#
1.
Database.SetInitializer(new DataContextInitializer());



Сейчас так

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
internal sealed class Configuration : DbMigrationsConfiguration<DataContext>
    {
        public Configuration()
        {
            AutomaticMigrationsEnabled = true;
        }

    }



который потом

Код: c#
1.
 Database.SetInitializer(new MigrateDatabaseToLatestVersion<DataContext, Configuration>());



по гайдам ef 4.3 как-то так...

но! если просто оверрайдить Seed внутри Configuration : DbMigrationsConfiguration<DataContext> он отрабатывает, но эта делается каждый раз при старте приложения. первое что пришло на ум - контролировать версии непосредственно из EdmMetadata, но никакой доки не смог найти...
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942673
Deza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942687
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dezaa_titeev,

http://habrahabr.ru/post/121132/ немного устарело... тогда собственно миграции и не было... :(
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942703
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeevDezaa_titeev,

http://habrahabr.ru/post/121132/ немного устарело... тогда собственно миграции и не было... :( а сейчас использую стратегию инициализатора DbMigrationsConfiguration...
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942716
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeev,

попробую помедитировать над фиолетом . что-то упустил из виду важное походу...
...
Рейтинг: 0 / 0
ef автоматическая миграция в инициализаторе. как?
    #37942776
Фотография a_titeev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_titeev,

а-а-а. все кажись понял. всем спасиб. упустил InitialCreate кроме Configaration...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / ef автоматическая миграция в инициализаторе. как?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]