Я занимаюсь переносом старых веб-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
Серьезно, в чем здесь вопрос? Вы ссылаетесь на статью, которая не относится к вашей базе данных. Если вы используете поддерживаемые версии базы данных, вам не нужно ничего менять. Статья, на которую вы ссылаетесь, актуальна только в том случае, если вы хотите использовать EF Core 8 с неподдерживаемыми базами данных.
EF6 WebAPI to .NET 8 and EF8 Однако это гораздо большее изменение, чем вы думаете. Вы переходите с EF Classic 6 на EF Core 8. Документ, который вам действительно нужен, — это Порт с EF6 на EF Core EF Core был полностью переработан и имеет некоторые существенные отличия от EF Classic. Уровень совместимости SQL Server не является проблемой. Настоящей проблемой будет отсутствие методов или вещей, которые работают по-другому или требуют другого кодирования в EF Core.
@PanagiotisKanavos, я предполагаю, что он использует sql-сервер, который не поддерживает OPENJSON, и хочет использовать его как для EF6, так и для EF8, но он упоминает Azure, так что я не знаю: D ОП, что делает: select @@version return?
@siggemannen да, здесь много путаницы и существует вероятность причинения ущерба из-за ненужных изменений.
EF и EF Core не имеют какого-либо уровня совместимости — это касается только базовой базы данных SQL Server.





Как сообщил член команды EFCore, использовать последний уровень совместимости для Azure SQL безопасно: https://github.com/dotnet/efcore/issues/33980#issuecomment-2165072564
Я обновился до 160 — проблем с веб-API EF6 и EF8 пока нет.
Зачем вы вообще изменили уровень совместимости? Azure SQL не использует неподдерживаемые версии базы данных. Рекомендуется не менять уровень совместимости, не понимая, почему