(:))使用しているORマッパーによって多少異なりますので、問題のORマッパーをサポートしている/サポートしていないdbの調査に時間をかけます。
たとえば、MicrosoftのORマッパーは、SQL Serverの組み込みデータ型のすべてをサポートしておらず、一部の新しい/高度なTSQL機能(再帰クエリ、オプティマイザーヒントなど)をサポートしていません。
理論的には、優れたORマッパーは、適切に設計されたリレーショナルデータベーススキーマを優れたオブジェクトモデルに克服する(そしてマッピングできる)ほど柔軟でなければなりません。現実には、パズルのすべてのピースが配置される前にまだやることがあります。多くのORマッパーは高度なマッピングをサポートしていますが、多くの場合、複雑なクエリとパフォーマンスの問題を犠牲にします。
DBのパフォーマンスを向上させるため(およびDBAの健全性を維持するために:))、DBスキーマ設計に関してはベストプラクティスに従う必要があります。最初に正規化し、[/ if]が必要な場合は非正規化します。コード側では、オブジェクトモデルを使いすぎないでください。ORマッパーが複雑な継承モデルと多くのテーブルをマージするエンティティをサポートしている場合でも、これらはデータベースなどにヒットする非常に複雑なクエリで問題が発生するリスクがある領域です。プロファイル、プロファイル、プロファイル、およびORM生成されたクエリを許可します。ORマッパーで生成されたクエリは、通常のSQLクエリと同じように微調整できることが多く、オブジェクト側で機能的に同等の2つのクエリ(linqクエリなど)が大きく異なるSQLクエリになる場合があることに注意してください。