2016-12-09 8 views
2

Entity Framework Database Firstアプローチを使用して複数のEDMXおよびモデルを生成し、これらのモデルを最初にリモートSQL Server 2012インスタンスのテーブル/ストアドプロシージャにマップした問題があります。 SQL Server 2016に移行したので、新しいテーブルの追加やモデルの更新などでこれらのEDMXモデルを更新しようとするたびに、更新ウィザードが無期限にフリーズします。データベース移行後のEntity Framework EDMXモデルの更新

私はこの問題に関していくつかの調査を行いました。問題のデータベースで互換性レベルを変更している人がいたのを見てきましたが、可能な限り回避したいと思っています。移行後、互換性レベルはサーバー上のすべてのデータベースに対して、特にマイクロソフトのデータベースコンサルタントによるクエリの最適化の目的で、SQL Server 2016(130)に設定されました。

手動で変更しようとしたことは、ProviderManifestTokenがEDMXのXMLコンテンツに「2012」から「2016」に設定されていますが、これは他の問題を引き起こすようです。私はそうした後、このエラーメッセージが表示されます。

Error Message

他の可能性の有用な情報:

  • は、Visual Studio 2015
  • Entity Frameworkのバージョンを使用して6.1.3

は誰を持っています自動的に生成されたEntity Framework modへのクリーンマッピングを維持しながら、SQL Server 2012からデータベースの2016への移行が幸運でしたels? EDMXをクリーンアップして新しいSQL Serverのインスタンスにきれいにマップするためのツールが組み込まれているようです。我々は解決策は、SSMSの[プロパティ]> [オプション]に移動して問題のデータベースのための ON レガシーカーディナリティ推定を変更することがあるとして見つけてしまった何

答えて

3

。これにより、互換性レベルをデータベース上のSQL Server 2016に設定することができました。

さらに、Visual Studioの更新ウィザードでこれらのモデルを更新すると、モデルは一見無限に更新されます。ウィザードが夜間稼動してしまい、データベースのモデルが6時間後に更新が完了しました。だから、彼らは最終的に更新を終了するが、誰かが作業するための現実的な時間枠ではない。

設定が変更されると、モデルは予想どおりに瞬時に更新されます。

この変更を通知した問題は、Entity FrameworkのGitHubページhereで確認できます。 Entity Frameworkの寄稿者は、最終的にフォルトが見つからず、これをSQL Serverチームに渡したようですが、このポスティングの時点で(私の知る限り)修正は実装されていません。

+1

今日のEF6.1.3とSQL 13.0.1742.0で確認できますが、これはまだ解決策です。 –

関連する問題