プロジェクトによると、現在、DBファースト、モデルファースト、コードファーストの3つのアプローチを使用できます。
明らかに、それぞれを使用する前に考慮すべきトレードオフがあります。
ビジネスオブジェクトとその関係を開発している間、あなたはすでにデータモデルの多くを作成しており、この冗長性を禁止することが新しいアプローチとテクノロジーの背後にある考え方です。この単純な点を念頭に置いて、データモデルが頻繁に変更される場合、DBFirstは適切な選択ではありません。
全体的なアイデアは素晴らしいものですが、新しいアプローチはまだ十分に成熟していません(Entity Framework
頻繁なリリースと大きな変更を目撃してください)。上記の冗長性を完全に排除することはできず、フレームワークのすべてのDBFirst機能をカバーすることはできません。また、作業は中間層を介して行われるため、DBFirstアプローチと比較してパフォーマンスが低下します。残念ながら、プロジェクトの途中でない限り、カバーされていない機能については通知されません。したがって、高度な機能が必要な場合、または複雑なデータモデルがあり、ビジネスモデルが頻繁に変更されることがない場合、および/またはパフォーマンスが優先度が高い場合は、DBFirstが選択されます。
この闘争で起こっていることは、私の意見では、答えられるべき正しい質問を明確にすることです。データベーステクノロジの優先順位は安定性であるため、頻繁または大きな変更の影響を受けません(リレーショナルデータベースを目撃します)。開発の観点から、オブジェクトとその関係を定義してコレクションに保存し、必要に応じて簡単に取得できるので、この揮発性オブジェクト(実行時にRAMにある)をどこにどのように保存するのかを気にする必要があります。 。言及された技術は開発者側からの努力ですが、データベース技術側からの努力があります。igメモリデータベース、オブジェクト指向データベース...