次のメソッドをラムダ式に渡して結果をフィルタリングし、結果のリストで機能するコールバック メソッドを渡します。これはシステム内の特定のテーブルの 1 つにすぎません。この構造を何度も使用します。DBget などの一般的なメソッドを構築するにはどうすればよいでしょうか。DBget は、パラメーターとしてテーブルを受け取り (公正な ADO.NET データサービス エンティティ)、フィルター (ラムダ式) を渡します。
public void getServiceDevelopmentPlan(Expression<Func<tblServiceDevelopmentPlan, bool>> filter, Action<List<tblServiceDevelopmentPlan>> callback)
{
var query = from employerSector in sdContext.tblServiceDevelopmentPlan.Where(filter)
select employerSector;
var DSQuery = (DataServiceQuery<tblServiceDevelopmentPlan>)query;
DSQuery.BeginExecute(result =>
{
callback(DSQuery.EndExecute(result).ToList<tblServiceDevelopmentPlan>());
}, null);
}
これでの私の最初のバッシュは次のとおりです。
public delegate Action<List<Table>> DBAccess<Table>(Expression<Func<Table, bool>> filter);