powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Entity Framework 6.2, миграция, шок и трепет...
22 сообщений из 22, страница 1 из 1
Entity Framework 6.2, миграция, шок и трепет...
    #39565755
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Entity Framework 6.2

Модель:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
    public class personal
    {
        public int? ID { get; set; }

        public byte[] TimeS { get; set; }

        public string LastName { get; set; }

        public string FirstName { get; set; }

        public string PatrName { get; set; }

        public int? TabNum { get; set; }

        public DateTime? EntranceDate { get; set; }

        public DateTime? RetireDate { get; set; }

        public string Notes { get; set; }

        internal class Metadata : EntityTypeConfiguration<personal>
        {
            public Metadata()
            {
                HasKey(t => t.ID);
                Property(t => t.ID).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
                Property(t => t.TimeS).IsRowVersion();
                Property(t => t.LastName).IsRequired().HasMaxLength(50);
                Property(t => t.FirstName).IsRequired().HasMaxLength(50);
                Property(t => t.PatrName).IsRequired().HasMaxLength(50);
                Property(t => t.TabNum).IsRequired();
                HasIndex(t => new { t.LastName, t.TabNum, t.FirstName, t.PatrName }).IsUnique().HasName("IX_personal_name");
                HasIndex(t => t.TabNum).HasName("IX_personal_TabNum");
            }
        }
    }


Миграция:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
              CreateTable(
                "dbo.personal",
                c => new
                    {
                        ID = c.Int(nullable: false, identity: true),
                        TimeS = c.Binary(nullable: false, fixedLength: true, timestamp: true, storeType: "rowversion"),
                        LastName = c.String(nullable: false, maxLength: 50),
                        FirstName = c.String(nullable: false, maxLength: 50),
                        PatrName = c.String(nullable: false, maxLength: 50),
                        TabNum = c.Int(nullable: false),
                        EntranceDate = c.DateTime(),
                        RetireDate = c.DateTime(),
                        Notes = c.String(),
                    })
                .PrimaryKey(t => t.ID)
                .Index(t => new { t.LastName, t.FirstName, t.PatrName }, unique: true, name: "IX_personal_name")
                .Index(t => t.TabNum, name: "IX_personal_TabNum");


В чём проблема создать индекс IX_personal_name именно такой, как я хочу?

Тут вроде что-то похожее. Про "closed-by-design" не понял...
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39565775
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К Тут вроде что-то похожее. Про "closed-by-design" не понял...Тут вроде понятно, к обсуждаемому вопросу отношения не имеет.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39565779
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей К
Код: c#
1.
internal class Metadata : EntityTypeConfiguration<personal>



клёво, я тож так делал :)


Алексей КВ чём проблема создать индекс IX_personal_name именно такой, как я хочу?

да.. печаль. возможно лечится, немножечко анальным путём, с помощью собственных соглашений.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39565782
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей К
Код: c#
1.
internal class Metadata : EntityTypeConfiguration<personal>



клёво, я тож так делал :)Ну это я у тебя и позаимствовал. :-)

hVosttАлексей КВ чём проблема создать индекс IX_personal_name именно такой, как я хочу?

да.. печаль. возможно лечится, немножечко анальным путём, с помощью собственных соглашений.Действительно печаль, потому что сторонний IndexingExtensions делает всё правильно, но у него синтаксис несколько хуже, и он таки сторонний.

Ну будем ждать исправлений, возвращаться к стороннему не хочется. :-(
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39565792
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КДействительно печаль, потому что сторонний IndexingExtensions делает всё правильно, но у него синтаксис несколько хуже, и он таки сторонний.

Ну будем ждать исправлений, возвращаться к стороннему не хочется. :-(

Какие проблемы, идешь в https://github.com/mj1856/EntityFramework.IndexingExtensions/tree/master/EntityFramework.IndexingExtensions копипастишь себе, и вот уже это не "стороннее", а своё родное

А ждать таки долго придётся, ибо они уже давно на EF Core сосредоточились, и точить старый EF уже неинтересно.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39565830
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, ладно, разберёмся. :-)
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566046
pet_trow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а можно перейти на другой мигратор. EF классный ОРМ, но миграции в нем какие-то натужные. во-всяком случае, я, когда с подобной проблемой столкнулся, бороться с ним не стал, перешел
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566062
pet_trow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hVosttАлексей К
Код: c#
1.
internal class Metadata : EntityTypeConfiguration<personal>



клёво, я тож так делал :)

а это не нарушение S из SOLID?
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566204
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pet_trowhVosttпропущено...


клёво, я тож так делал :)

а это не нарушение S из SOLID?

Нарушения нет.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566207
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pet_trowа можно перейти на другой мигратор. EF классный ОРМ, но миграции в нем какие-то натужные. во-всяком случае, я, когда с подобной проблемой столкнулся, бороться с ним не стал, перешел

Всё зависит от задач. Много проектов делал на EF, не знаю у кого какие там проблемы с миграциями, у меня никогда никаких проблем не было, проекты были достаточно сложные и большие. Но в последнее время перешли на CQRS в связи с повышением класса задач, где EF уже абсолютно ничем и никак не поможет.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566278
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttНо в последнее время перешли на CQRS
Крутой прыжок в сторону.
Это вероятно т.к. у вас JS всё больше, а c# всё меньше.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566354
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну там тупо одно поле не может входить в несколько индексов. Выбрасываю новый функционал нах, жду исправлений...
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566412
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123hVosttНо в последнее время перешли на CQRS
Крутой прыжок в сторону.
Это вероятно т.к. у вас JS всё больше, а c# всё меньше.

С чего бы это? На JS как и раньше, пишется логика UI, ну кое что из микросервисов, по мелочи. Всё остальное на C#, на Lua пишется бизнес-логика.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566414
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу там тупо одно поле не может входить в несколько индексов. Выбрасываю новый функционал нах, жду исправлений...

Так в чём проблема запилить в миграцию создание индексов SQL? :)
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566419
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КНу там тупо одно поле не может входить в несколько индексов. Выбрасываю новый функционал нах, жду исправлений...

Так в чём проблема запилить в миграцию создание индексов SQL? :)Вручную что ли?! С "неродным" IndexingExtension add-migration сама индексы генерирует.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566423
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КДействительно печаль, потому что сторонний IndexingExtensions делает всё правильно, но у него синтаксис несколько хуже, и он таки сторонний.

Ну будем ждать исправлений, возвращаться к стороннему не хочется. :-(

Какие проблемы, идешь в https://github.com/mj1856/EntityFramework.IndexingExtensions/tree/master/EntityFramework.IndexingExtensions копипастишь себе, и вот уже это не "стороннее", а своё родное

А ждать таки долго придётся, ибо они уже давно на EF Core сосредоточились, и точить старый EF уже неинтересно.А может правда весь Entity Framework сделать "родным". Чего стесняться? :-)
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566991
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВручную что ли?! С "неродным" IndexingExtension add-migration сама индексы генерирует.

Конечно вручную. Полагаться на 100% на генерируемые миграции -- это утопия. Как ты создашь, например, вьюху, которую хочешь замапить на класс? Или CTE? Поэтому не стоит и заморачиваться так сильно.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39566994
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КА может правда весь Entity Framework сделать "родным". Чего стесняться? :-)

Ну... чё далеко ходить, мы когда реализовывали CQRS/ES, писали фреймворк буквально с нуля, по объёму кода ядро, работающее с событиями, с SQL базами проекций (read-model), с ElasticSearch (business read-model) для индексации и поиска, с RabbitMq для работы с событиями, через слой провайдеров естественно, код получился больше, чем EntityFramework. Местами некоторые решения сдёрнуты с EF, кое-что по кешированию и соглашениям.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39567467
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КВручную что ли?! С "неродным" IndexingExtension add-migration сама индексы генерирует.

Конечно вручную. Полагаться на 100% на генерируемые миграции -- это утопия. Как ты создашь, например, вьюху, которую хочешь замапить на класс? Или CTE? Поэтому не стоит и заморачиваться так сильно.Ну я на 100% и не рассчитываю. Но описание индексов в модели мне показалось удобным.
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39567534
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КНу я на 100% и не рассчитываю. Но описание индексов в модели мне показалось удобным.

а как ты опишешь индексы с кастами или условиями?
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39567537
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttАлексей КНу я на 100% и не рассчитываю. Но описание индексов в модели мне показалось удобным.

а как ты опишешь индексы с кастами или условиями?Я про все индексы и не говорю. Ну обычные-то индексы вполне можно, это уже что-то. :-)
...
Рейтинг: 0 / 0
Entity Framework 6.2, миграция, шок и трепет...
    #39567809
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КЯ про все индексы и не говорю. Ну обычные-то индексы вполне можно, это уже что-то. :-)

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


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