EF 4.0 に関していくつか質問がありますが、誰かが助けてくれることを願っています。
最初に少し背景を説明します。私は、visualstudiogallery.com のツールを使用して、データベースをクラスにリバース エンジニアリングしました。クラス、オブジェクト マッピングなどに関しては、すべて問題ないようです。私の dbcontext クラスでは、問題のない各テーブルのプロパティが生成されました。現在、コードのこの部分は 1 つのプロジェクトに保持され、MVC 4 アプリケーションによって呼び出されています。最終的にはこれを完全なサービス レイヤーに変換して、関心の分離に対処しますが、今のところは直接リンクでうまくいきます。
とにかく、EF の質問に戻ります。
テーブル名と一致する dbcontext クラスのプロパティにアクセスするときに EF がここで何をするかについて混乱していますか? 実際には毎回すべての行を返しますか? もしそうなら気が狂いそうだ
パラメーターを提供し、パラメーターに一致する行のみを返したい dbcontext クラスのプロパティではなく関数を作成しようとしましたが、クラスを追加してその中で「LINQ」呼び出しを行おうとすると、次のエラーが発生します:
ソース タイプ 'System.Data.Entity.DbSet ....'Select' のクエリ パターンの実装が見つかりませんでした。「System.Core.dll」または「System.Linq」の using ディレクティブへの参照がありませんか?
なぜこれが起こっているのですか?
- これはリンクに関する質問だと思いますが、users テーブル (userid)、horse テーブル (horseid)、そして馬がユーザーに関連付けられている 1 つのテーブル (horseid、userid) があると仮定します。
GetMyHorses と呼ばれる 2 が解決されたと仮定して関数を作成し、userId をパラメーターとして渡す場合、Linq を使用して、ストアド プロシージャの単純な結合クエリを介して通常取得するものを提供し、関連付けられているすべての馬を返すにはどうすればよいですか?パラメータを介して提供されたユーザー。
ありがとう。