3

コード ファースト マイグレーション テクノロジーに関しては、奇妙な感覚があります。まず第一に、これは Ruby on Rails としての技術に端を発する概念です。私がそれに反対しているわけではありません。誤解しないでください。私が確信していないのは、Code First Migration の使用が、レポートなどを含む可能性のある拡張性の高いエンタープライズ アプリケーションに関して良いアプローチであるかどうかということです。基本的に、データベースの設計、最適化が重要な役割を果たす状況で言及しています。一般的なパフォーマンス (非正規化、インデックス作成、シャーディングなど)。私の感覚では、Code First Migration は大きなオーバーヘッドをもたらします。私は間違っていますか?ご意見をお聞かせください。

4

1 に答える 1

1

あなたが間違っている。

EF 移行は、データベースの設計方法とは関係ありません。データベース スキーマの 2 つのバージョンに対してスクリプトを生成し、一方から他方へ自動的に移行する方法を見つけるのは、1 回限りのプロセスです。

アプリの実行時に移行は実行されません。オーバーヘッドがなく、アプリのパフォーマンスに影響を与えることもありません。EF 自体が既存のスキーマを生成するため、既存のスキーマでのみ機能します。実際、このプロセスは非常に一般的であり、EF に固有のものではありません。EF を使用しているかどうかに関係なく、移行を使用して任意の 2 つのスキーマ間で移行できます。

そのため、データベースのパフォーマンスとは何の関係もありません。

スキーマは EF 自体によって制御され、データベースのマップ方法に依存します。確かに、EF にすべての作業を任せると、最終的に最適とは言えないスキーマになる可能性がありますが、Fluent Mappings を使用することで、EF がこれを生成する方法を完全に制御できます。

于 2012-09-28T16:58:38.067 に答える