2011-01-14 19 views
0

をLINQをコンパイル:は、私がこのように構築されたクエリ持つSQLクエリに

public static List<MyObjectModel> GetData (int MyParam) 
{ 

using (DataModel MyModelDC = new DataModel()) 

{ var MyQuery = from.... 
       select MyObjectModel { ...} 
} 

return new List<MyObjectModel> (MyQuery) 

} 
} 

をコンパイルLINQツーSQLクエリを使用する程度の速ストアドプロシージャとしてあるので、目標が変換することであると思われますコンパイルされたクエリへのこれらのクエリ。これの構文は何ですか?

ありがとうございました。の内部

internal List<MyObjectModel> GetObjectModel(int myParam) 
{ 
    var results = _getObjectModelById(this, myParam); 
    return results.SingleOrDefault(); 
} 

:このようにそれを呼び出すためにそこにamethodを追加し

private static Func<DataModel, int, MyObjectModel> _getObjectModelById = 
    CompiledQuery.Compile<DataModel, int, MyObjectModel>(
     (dataModel, myParam) => 
      dataModel.PersonDtos.where(c => c.ObjectModelId == myParam).FirstOrDefault() 
      ); 

:あなたのDataContext(またはあなたの場合あなた "のDataModel" で)のこの内部のようなものを入れて

答えて

1

元のメソッドが内部関数を呼び出して探している結果を得るリポジトリ。

希望があれば、このコードを投稿してください。

+0

私のすべてのクエリは異なる名前空間にあります。コードの最上位セクションはどこに行きますか? – frenchie

+0

トップセクションは、あなたのdatacontextを表すlinq2sqlクラスの中に入ります(私はあなたが "ObjectModel"と呼んでいると思います)。実際にSQLデータベースをC#コードで表すクラスです。 –

+0

申し訳ありませんが、あなたはそれを "DataModel" –

関連する問題