1

既存のデータベースで Code First を使用して Entity Framework をセットアップしようとしています。データベースの状態が良くありません (命名規則が不十分で、いくつかの制約が必要です)。私が構築しているアプリケーションは MVC アプリです。「モデル」、「リポジトリ」、および「Web」(mvc) 層があります。

EF をセットアップしてモデル オブジェクト (POCO オブジェクト) をマップするには、オブジェクトをデータベース テーブルに一致させる必要がありますか? 代わりに、CRUD 操作に独自のストアド プロシージャを使用できますか? WCF データ サービスを使用すると役に立ちますか?

流暢な構成を使用してオブジェクトをマッピングすることを計画していますが、データベース スキーマが原因でいくつかの問題があります。EFを正しくマップするためだけにデータベースを再設計することを検討していることは知っています。どんな提案でも大歓迎です!!

4

2 に答える 2

1

この質問に非常に似ています:

Entity Framework Code First はストアド プロシージャをサポートしていますか?

そこにある回答は、Code First とストアド プロシージャがどのように意味をなさないかに関する議論と同様に、あなたにとって役立つかもしれません。

うわー、ジュリー・ラーマンが答えた!

于 2012-09-14T18:49:13.177 に答える
0

はい、可能ですが、特に簡単ではありません。context.Database.SqlQuery<T>()特に、 T が返したいエンティティ タイプである場合に呼び出す必要があり、SQL はそのエンティティ タイプと一致する必要があります。それ以外の場合は、結果セットをタイプにマッサージする必要があります。

一般に、これのほとんどは手動で行う必要がありますが、T4 テンプレートを見つけて生成するか、CodeSmith などの他のツールを使用することもできます。

于 2012-09-14T18:25:43.543 に答える