Можем ли мы отказаться от создания представлений сущностью? - PullRequest
0 голосов
/ 12 июня 2018

У нас много Entity, и мы пытаемся ограничить количество объектов SQL, генерируемых CodeFluent Entity.Мы используем некоторые lightViews, но у меня есть ощущение, что многие сгенерированные представления бесполезны.Можно ли определить сущность по сущности для создания представления или нет?(Мне известна опция productViews для производителя SQL, но нам все еще нужны некоторые представления)

1 Ответ

0 голосов
/ 12 июня 2018

Нет, это не вариант.Атрибут yieldViews относится только к постоянным представлениям, явно определенным в вашей модели.

Теперь: если вы полностью контролируете то, что можете использовать, убедитесь, что вы не ссылаетесь на некоторые сгенерированные по умолчанию представления в каком-либо атрибуте модели, любых методах (CFSQL или необработанный SQL) или частичном коде, тогда здесь некоторыеИдеи:

Вы можете не использовать сгенерированный по умолчанию xx_views.sql: - не сохранять его в sourcecontrol - предоставлять собственные представления (постоянные известные, извлеченные из сгенерированного файла) в пользовательском сценарии SQL после записи after_ [DefaultNamespace] _views.sql : в нем вы можете, например, удалить все существующие представления, а затем объявить только те, которые хотите использовать.Это был бы ручной шаг, который может занять много времени, если ваши постоянные представления сильно меняются между версиями.Может быть, хорошее соглашение об именах для постоянных представлений поможет этому ручному отчету найти достаточно хорошее решение.

Еще одна более продвинутая и понятная идея - предоставить пользовательский аспект , удаляющий «по умолчанию».представление, созданное для каждой сущности в метамодели до производства (см. метамодель и класс CodeFluent.Model.Entity), за исключением сущностей, отмеченных пользовательским атрибутом.Эта идея не гарантирована / проверена.

...