3

以下のシナリオがあります。私は最初に EF 5 コードを使用し、VS 2010 では MVC 4 を使用しています。私のプロジェクトでは Unit of Work and Repository パターンを使用しています。

これが可能かどうかはわかりません。よろしくお願いします。

データベース テーブルを表すモデル クラスがあります。モデル クラスには、[NotMapped] として装飾されたプロパティがあります。モデル クラスと同様に、データを返す Stored Proc があります。ただし、SP からリスト内のデータを取得すると、[NotMapped] 列の値が含まれません (ただし、SP は [NotMapped] 列のデータを返します)。これは、EF に関して論理的に正しい可能性があります。

私が知りたいのは、[NotMapped] 列に入力されたデータを取得する方法があるかどうかです。実現したいのは、LINQを使ったCRUD(R-Readを除く)。

4

1 に答える 1

1

ストアドプロシージャの結果に対して、別の複合型を作成することをお勧めします。そうでなければ、遅かれ早かれ、DbSetまたはストアドプロシージャからのエンティティを区別するためのコードを記述していることに気付くでしょう。ストアドプロシージャから取得した場合、たとえば、結合では使用できません。または、マップされていないプロパティが設定されているかどうかを確認します。

非常に汚いアプローチは、2つの異なるコンテキストを持つことです。最初にコードを使用すると、同じタイプへの異なるマッピングを使用して、列を無視する場合としない場合で、異なるコンテキストを作成できます(データアノテーションを使用せずに流暢なマッピングを使用する場合)。ただし、これはEFにデータベーススキーマをチェックしないように指示した場合にのみ成功するため、移行の使用も除外されます。やらない!! 私が上で述べたのと同じ理由で。設定されている場合と設定されていない場合があるプロパティを持つ型が必要です。

于 2012-12-13T15:06:17.503 に答える