1

コードで edmx をチェックできる可能性があるかどうかを知りたいです。実際、私が確認したいのは、たとえばベースを更新する必要があることをユーザー (またはチームサポート) に伝えるために、ベースと edmx ファイルに違いがあり、コードがクラッシュする可能性があるかどうかです。

ありがとう :)

4

1 に答える 1

0

EDMX はテキストベースの形式で、内部で XML を使用します。したがって、差分を使用できます。

  1. 現在のデータベース バージョンから EDMX を生成する
  2. 顧客から送られてきた EDMX を開く
  3. 選択したユーティリティを使用して両方のファイルを比較します

違いはすぐにわかります。XML も読みやすいので、どこに問題があるのか​​を正確に知ることができます。

実行時に自動的にチェックしたい場合でも、顧客のアプリにデータベースのバージョンに合った EDMX ファイルが含まれている限り、この方法を使用できます (アプリの配信時にパッケージ化するだけです)。次に、ライブラリを使用して差分を作成します。

更新実行時に EDMX ファイルを生成できるかどうかはわかりませんが、解決策がある場合は、おそらくEdmxWriter クラスが関係しています。これが機能せず、実行時に必ずチェックを行う必要がある場合 (たとえば、顧客が提供した DB のスキーマを変更するアクセス権を持っている場合)、おそらく EDMX ファイルではなくデータベース スキーマを比較する方がよいでしょう。しかし、ほとんどの場合、単純な解決策は、データベースのバージョンに関するメタ情報を変更されない場所 (データベース自体のバージョン番号など) に含めて、これを確認することです。

于 2013-06-20T08:09:10.703 に答える