1

ほとんどの作業を実行するためのプライマリデータモデルを備えたシステムがあります。

モデルにはかなりの数のテーブルがあり、アプリケーションに管理機能を追加するようになったときにパフォーマンスを考慮して、2番目の個別のデータモデルを使用することにしました。

2番目のデータモデルがプライマリデータモデルにもあるテーブルにアクセスする必要があるまで、すべてが正常に機能します。さて、掘り下げてみると、これが問題を引き起こす可能性があることがわかります。

私が思いついた2つの可能な回避策は、次のいずれかです。

  1. データモデルを別々のプロジェクトに配置します。
  2. 必要に応じて、ビュー/ストアドプロシージャを使用して、問題のテーブルにアクセスします。

方法1は最も単純なようですが、パフォーマンスが低下するかどうかが心配です。方法2は少し厄介なようで、EFを使用することからポイントを取り除きます。

方法1を使用するためにふっくらする前に、使用できるより簡単な回避策はありますか?

4

2 に答える 2

2

結局、2つのデータモデルを別々のプロジェクトに入れることにしましたが、気付くことができた速度低下はありませんでした(ベンチマークは行っていませんが、知覚テストに合格しています)。

彼女のオンラインチュートリアルの1つで、EFの第一人者であるJulie Lermanは、データモデルを別のプロジェクトに配置する必要があると述べているので、これは悪い回避策ではないと思います。

于 2012-12-12T14:56:25.623 に答える
1

2つの異なるデータベースに接続しているため、同じプロジェクトで2つのモデルを使用しています。* .ttファイルに「カスタムツール名前空間」を使用してさまざまな名前空間を配置しましたが、必須ではありません。通常は機能しますが、同じ名前のエンティティ(テーブル)が両方のモデルにある場合は処理できません。1つのモデルを保存すると、同じ名前のエンティティが2番目のモデルから削除されます。

于 2015-02-06T14:44:36.020 に答える