Каков максимальный поддерживаемый уровень совместимости для EF6?

Я занимаюсь переносом старых веб-API .NET Framework и EF 6 на .NET 8 и EF Core 8.

Вчера из-за этого критического изменения я изменил compatibility_level на 130 для наших баз данных Azure SQL: https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-8.0/ ломающие-изменения#содержит-в-linq-запросах-может-перестать-работать-на-старых-версиях-sql-сервера

Мой вопрос: что рекомендуется compatibility_level для EF6 и EF Core 8?

Мы хотим, чтобы одна и та же база данных работала как для EF6, так и для EF Core 8 из-за тестирования миграции.

РЕДАКТИРОВАТЬ после разрешения: это примечания для Azure SQL в документации Microsoft: https://learn.microsoft.com/en-us/sql/t-sql/statements/alter-database-transact-sql-compatibility-level? view=sql-server-ver16&redirectedfrom=MSDN#remarks-for-azure-sql

Зачем вы вообще изменили уровень совместимости? Azure SQL не использует неподдерживаемые версии базы данных. Рекомендуется не менять уровень совместимости, не понимая, почему

Panagiotis Kanavos 13.06.2024 10:15

Серьезно, в чем здесь вопрос? Вы ссылаетесь на статью, которая не относится к вашей базе данных. Если вы используете поддерживаемые версии базы данных, вам не нужно ничего менять. Статья, на которую вы ссылаетесь, актуальна только в том случае, если вы хотите использовать EF Core 8 с неподдерживаемыми базами данных.

Panagiotis Kanavos 13.06.2024 10:17
EF6 WebAPI to .NET 8 and EF8 Однако это гораздо большее изменение, чем вы думаете. Вы переходите с EF Classic 6 на EF Core 8. Документ, который вам действительно нужен, — это Порт с EF6 на EF Core EF Core был полностью переработан и имеет некоторые существенные отличия от EF Classic. Уровень совместимости SQL Server не является проблемой. Настоящей проблемой будет отсутствие методов или вещей, которые работают по-другому или требуют другого кодирования в EF Core.
Panagiotis Kanavos 13.06.2024 10:21

@PanagiotisKanavos, я предполагаю, что он использует sql-сервер, который не поддерживает OPENJSON, и хочет использовать его как для EF6, так и для EF8, но он упоминает Azure, так что я не знаю: D ОП, что делает: select @@version return?

siggemannen 13.06.2024 11:25

@siggemannen да, здесь много путаницы и существует вероятность причинения ущерба из-за ненужных изменений.

Panagiotis Kanavos 13.06.2024 11:28

EF и EF Core не имеют какого-либо уровня совместимости — это касается только базовой базы данных SQL Server.

marc_s 13.06.2024 11:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
6
94
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Как сообщил член команды EFCore, использовать последний уровень совместимости для Azure SQL безопасно: https://github.com/dotnet/efcore/issues/33980#issuecomment-2165072564

Я обновился до 160 — проблем с веб-API EF6 и EF8 пока нет.

Другие вопросы по теме