3

600以上のテーブルを持つ大規模なデータベースでEntity Framework 5を使用しています(ストアドプロシージャとビューはまだ数えていません)。Visual Studio 2012 を使用して数回起動して実行した後、Model.EDMX ファイルを更新しようとすると (データベースから右クリックして更新を使用)、または単にコンパイルしようとすると、メモリ不足エラーが発生します。

クイック Google 検索によると、多くの人が同様の問題に直面しており、あるフォーラムの誰かが、これを回避するために複数の EDMX ファイルを使用することを提案しています。(リンクhttp://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/b4ce1494-a0b4-42c6-af56-4ecbfeb83e29 )

私の質問は 1) このエラーを回避し、EF で問題なく多数のテーブルを使用できる方法はありますか? 2) Entity Framework モデルは、大規模なエンタープライズ データベースの ORM として適していますか? そうでない場合、誰かが私に良いものを提案できますか?

前もって感謝します

4

2 に答える 2

0

あなたの最初の質問に答えるために。

Entity Framework の更新がすべての場合に確実に機能するとは限らないことがわかりました。

モデル内のすべてのオブジェクトを削除して、再度挿入しようとしましたか? 許容できる回避策である可能性があります。

于 2013-05-03T12:37:37.750 に答える
0

nHibernate を調べてみることをお勧めします。UI の点では Entity Framework ほどユーザー フレンドリーではありませんが、多数のテーブルを扱う場合には利点となるはずです。

http://nhforge.org/Default.aspx

また、エンティティ モデル内のすべてのテーブルをマップする必要がないことにも気づいていますか? 必要なものだけを持ち込むことができます。あなたがしていることのために600個のテーブルすべてが必要ではないと仮定しています。

于 2013-05-03T23:10:29.290 に答える