私はentityframeworkを使用しています。主キーである「id」を使用してテーブルから取得される2つのレコードがありました。次に、これら2つのテーブルレコードデータを比較して、古い値と新しい値をビューに表示します。ここで私の質問は、2つのレコードを比較する方法です...データを取得するテーブルには、ほぼ20のプロパティがあります。すべてのプロパティを比較する必要がありますか、それとも最善の方法がありますか...誰かが解決策を見つけるのを手伝ってくれませんか。
1098 次
1 に答える
1
public bool Equals<T>(T first, T second)
{
var f = new List<T>() {first};
var s = new List<T>() {second};
PropertyInfo[] propertyInfos = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Static);
foreach (PropertyInfo propertyInfo in propertyInfos)
{
if (f.Select(x => propertyInfo.Name).FirstOrDefault() != s.Select(x => propertyInfo.Name).FirstOrDefault())
return false;
}
return true;
}
キムRが推奨したように、等しい<T>(Tが最初、Tが2番目)に変更されました
試してみてください:)私はそれをテストしていません
于 2012-05-10T07:50:52.977 に答える