2012-01-16 14 views
0

IDに基づいてモデルに結合するのと同様に、追加の列を追加したいとします。これは可能ですか?例えば.idmxファイルでモデルに余分な列を追加する

ProductsModel 

ID 
DeliveryID 


DeliveryModel 

DeliveryID 
DeliveryDescription 

は、私は何をしたいのは、私の.edmxファイルで私のProductsModelにDeliveryDescription列を追加しています。私は3つのプロパティの種類(スカラー、ナビゲーション、複合)を追加する可能性を知っているこれらのソリューションの一つですか?

答えて

1

いいえデフォルトのエンティティは、テーブルと完全に一致している必要があります。これが真実ではない状況がありますが、すべてに分割や継承などの高度なマッピング機能が必要です。あなたのテーブルを見ると、どちらの場合もそうではありません。

あなたがしようとしているのは、データベースビューと同じです。 EFではQueryViewまたはDefiningQueryのいずれかを使用することができます。どちらも新しい読み取り専用エンティティタイプになります。これらの高度な機能を使用するには、EDMXファイルを手作業で編集する必要があります(DefiningQueryの場合、データベースからの更新を使用することはできません。変更が削除されるためです)。

データプレゼンテーションにはこれが必要なことがほとんどあります。マッピングされたエンティティを変更する代わりに、プレゼンテーションのためだけにEFの外部に新しいクラスを作成し、エンティティから入力します。

+0

データのプレゼンテーションに必要です。問題は、メソッドを使用してProductタイプのリストが返され、すべてのProductが返されます。なぜなら、.edmxファイル内のProductモデルに余分な列を追加することが可能かどうか疑問に思っていたからです。プロセスはずっと簡単です。これを回避する方法の1つは、とにかくその情報を持つデータベースビューを使用することです。ご協力いただきありがとうございます! – CallumVass

関連する問題