|
DbQuery и Миграции в EF 3
|
|||
---|---|---|---|
#18+
В версии 3 разработчики EF откатили DbQuery введенную в версии 2. Теперь рекомендуется использовать старый добрый DbSet с конфигурированием entity.HasNoKey(); Однако у меня возникает проблема при создании миграции. После вызова команды Add-Migration, в нее добавляется код, на создание этих таблиц: Код: 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.
Как это можно побороть ? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2020, 15:52 |
|
DbQuery и Миграции в EF 3
|
|||
---|---|---|---|
#18+
Для чего мне это нужно. Мне нужно получить данные на стыке двух сущностей. Взяв часть полей от Модели1 и часть полей от Модели2. Для этого и создал новую сущность. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2020, 16:07 |
|
DbQuery и Миграции в EF 3
|
|||
---|---|---|---|
#18+
MrBitCoin, https://docs.microsoft.com/ru-ru/ef/core/modeling/keyless-entity-types Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
В конце концов вы можете из сгенерённой миграции лишний код убрать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2020, 16:55 |
|
DbQuery и Миграции в EF 3
|
|||
---|---|---|---|
#18+
Так у меня вьюхи то нет. Я не вижу в ней необходимости. Это некое вычислимое значение, на стыке двух сущностей. Используется в одном из методов, как некий справочник данных. Что, без вьюхи не обойтись ? Или и без вьюхи сработает ? И если я из миграции уберу этот код, он же его добавит в следующую миграцию. Или не добавит из-за того, что запись в ModelSnapshot останется ? Это какой то хак получается... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2020, 17:29 |
|
DbQuery и Миграции в EF 3
|
|||
---|---|---|---|
#18+
MrBitCoin Так у меня вьюхи то нет. Я не вижу в ней необходимости. Это некое вычислимое значение, на стыке двух сущностей. Используется в одном из методов, как некий справочник данных. Что, без вьюхи не обойтись ? Или и без вьюхи сработает ? ToView инструктирует EF не генерировать код создания таблицы. Вы же этого хотели? :) MrBitCoin И если я из миграции уберу этот код, он же его добавит в следующую миграцию. Не добавит. MrBitCoin Или не добавит из-за того, что запись в ModelSnapshot останется ? Это какой то хак получается... Верно. Этот "хак" и был добавлен изначально, чтобы у вас было больше гибкости. Конечно по возможности нужно избегать хаков, насколько это возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2020, 17:36 |
|
DbQuery и Миграции в EF 3
|
|||
---|---|---|---|
#18+
hVostt, что то много хаков набегает ) Ну что ж поделать... Придется страдать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2020, 17:56 |
|
DbQuery и Миграции в EF 3
|
|||
---|---|---|---|
#18+
MrBitCoin hVostt, что то много хаков набегает ) Ну что ж поделать... Придется страдать. Да не надо страдать, просто делайте по-нормальному. "Взяв часть полей от Модели1 и часть полей от Модели2" -- это что такое в вашей модели? В СУБД это вьюха, запрос, который соединяет таблицы и берёт нужные поля. В EF вы также можете такой запрос оформить. А у вас что? Чего это за концепция такая? Почему оно в ModelBuilder? EF оперирует таблицами и вьюхами в последней версии. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2020, 20:35 |
|
|
start [/forum/topic.php?fid=17&fpage=2&tid=1349078]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 232ms |
total: | 370ms |
0 / 0 |