私はEF4を使用しています。最初にコードを書きます。[NotMapped]
そのため、私のモデル クラスには、パブリック プロパティ、いくつかの仮想プロパティ (他のテーブルからの遅延読み込みデータ用)、およびEF によってスキップされるように属性が付加されたいくつかのプロパティが混在しています。
ときどき生のクエリを利用したいことがあります: c.Database.SqlQuery<T>("select ...")
EF を行マッパーとして使用するためです。
Intellitrace で、これらのクエリが「IndexOutOfRange」のスローされた例外とキャッチされた例外を大量に生成していることに気付きました。いくつか見てみると、例外はすべてモデル オブジェクトの仮想プロパティと [NotMapped] プロパティです。テーブル プロパティだけを含む新しいデータ モデル クラスまたは親クラスを作成する必要はありません。生のクエリランナーの行マッパーに、EFの残りの部分が使用するのと同じ注釈に注意を払うように伝えるために見逃した構成手順はありますか? 多分彼らはEF5でこれを修正しましたか?