2009-03-25 10 views
0

(MVCフレームワークでの再生) ADO.netエンティティデータモデルを作成しました。ここでは、コンテキストのサブセットを返す関数を作成するなど、ビジネスロジックを拡張したいと考えています。部分クラスは、データモデルと一緒に作成されたので、私は、このような部分クラス宣言新しいファイルを作成している:それはGetMovieById(int型のID)と呼ばれるにADO.netのエンティティデータモデルの補完

は私が機能を配置し、その結果は次のようになります。

namespace RecordStore.Models 
{ 
    public partial class MovieDBEntities 
    { 
     public Movie GetMovieById(int id) 
     { 
      Movie movie = MovieSet.First(m => m.id == id); 
      return movie; 
     } 

    } 
} 

私はプロジェクトを開始するまで、私はエラーを取得していないし、エラーは次のとおりです。

コンパイラエラーメッセージ:CS1061:「RecordStore.Models.MovieDBEntities」「MovieSet」の定義が含まれていないと無拡張メソッド 'MovieSet'は、 'RecordStore.Models.MovieDBEntype'の最初の引数を受け取ります(使用している指示やアセンブリ参照がありませんか?)

部分クラスの他の部分にはMovieSetが含まれているため、このエラーは分かりません。私の質問は基本的に、これがデータモデルを拡張する方法ではない場合、どのような方法であり、それが方法である場合、なぜこのエラーが発生するのでしょうか?

答えて

0

これは良いテクニックであるかどうかという疑問を他の誰かに残します。しかし、コンパイルエラーを考慮して、上の部分クラスとモデルによって生成されたクラスが同じ正確な名前空間にあることを確認してください。

+0

こんにちはダニエル、あなたの答えをありがとう。はい、どちらも「RecordStore.Models」にあります。 – miccet