db1からdb2にデータをコピーした後、データの整合性のテストをたくさん行っています。
私はほとんど同じテストを書き続けています、これが擬似コードです
Get db1List
Get db2list
for each db2poco in db2list
linq to get list of db1pocos.membervaribale1 matches db2poco.membervaribale1
if db1pocos.membervaribale2 == db2poco.membervaribale2
return false
return true
比較のためにジェネリックとラムダを使用するジェネリックメソッドに変換したいと思います...コンパイルされないことを除いて、このようなものです...
private bool GenericCompareLists<T1, T2>(List<T1> cdssList, List<T2> spamisList, object sender, Func<bool, T1, T2> filterLambda , Func<bool, T1, T2> compareLambda )
{
bool passed = true;
foreach ( T2 spamisCv in spamisList )
{
List<T1> cdssSubList = ( from l in cdssList where filterLambda( l, spamisCv ) select l ).ToList();// should alwasy be one,
if ( cdssSubList.Count != 1 )
{
log.Error( "..." );
passed = false;
}
else
{
T1 cdssCv = cdssSubList.First();
if ( compareLambda( cdssCv, spamisCv) )// comparing the sum of all check_amt for this type, cdss vs spamis - EWB
{
log.Error( "Failed in comparison f" + sender.ToString() );
passed = false;
}
}
}
return passed;
}
しかし、私はそれを実際に機能させる方法/それを呼び出す方法をoutsytnaxに理解することはできません。
誰かが私に手を貸してくれませんか?または、ラムダfuを上げる良い参照を教えてください...