単純なEmployeeクラスについて考えてみます。
Class Employee
{
public String FirstName {get; set;}
public int Id {get; set;}
public int Marks {get; set;}
public String LastName {get; set;}
}
したがって、LINQクエリで選択するために、次のように記述できます。
var query = Employee.Where(i => i.Id > 2).OrderBy(i => i.Marks);
では、IdとMarksを送信できる2つのパラメーターを受け取る関数を作成できますか。関数呼び出しを行い、必要なパラメーターを渡すことができるようにします。
var query = Employee.Where(i => i.Marks > 2).OrderBy(i => i.FirstName);
任意のパラメーターを渡すことができるサンプル検索関数
Public String GetQuery(String para1,String para2,......)
{
var query = Employee.Where(i => i.para1 > 2).OrderBy(i => i.para2);
return query;
}
or
Public String GetQuery(String para1,String para2,......)
{
String str1=para1...... // with some format included
String str2=para2...... // with some format included
var query = Employee.Where(str1).OrderBy(str2);
return query;
}
概念は、渡された任意のタイプのパラメーターの値を選択できる共通(汎用)クエリを作成したいということです。