web-dev-qa-db-ja.com

Entity Framework 6は十分に異なるSQLサーバーとOSプラットフォームに依存していますか?

初めてSQLサーバーを使用するので、通常はMySQLを使用するので、これを行う方法がわかりません。

私が割り当てられたプロジェクトは、複数のプラットフォーム、特に2008年から2014年までのさまざまなSQLサーバーを備えたPCに展開されます。それらの一部はExpress Edition、一部はStandard Editionで、WindowsではXP、7、8、8.1の両方のx86に対応しています。および64ビットシステム

開発PCでエンティティフレームワーク6を使用している場合、64ビットのWindows 8.1およびSQL Server 2012 Express。これは展開中に問題を引き起こしますか?

6
Corbee

Entity Framework(EF)は、主に基本的な構文とキーワードを使用します:selectjoindistinctなど。この基本的な構文は、バージョンごとにあまり変更されていません。

SQL Server 2008とSQL Server 2014の間に追加の機能が追加されましたが、それらはEFの範囲外です。

ヘッドリビジョン( 4548560f3bc 執筆時点))、特にクエリを生成する EFのソースの一部 を調べると、次のことがわかります。

  • EFはカトマイの前後のバージョンを区別します(カトマイはSQL Server 2008のコードネームです)。 309行目を参照してください。

  • さまざまなバージョンのSQL Serverに適応します。

  • バージョン8.0(SQL Server 2000)用の非常に具体的なステートメントがあります。 450行目を参照してください。SQLServer 2000のサポートは、EFにとっても悪夢のようです。


つまり、サポートする必要があるSQL Serverのすべてのバージョンについて、統合テストとシステムテストを必ず実行してください。

プロファイリングは別の獣です。 SQL Serverの一部のバージョンのクエリに問題があることに気付いた場合は、SQL Serverのバージョンに応じて異なるクエリを含めるなど、SQLクエリを手動で指定する必要があります。

3