1

私はentityframeworkを使用しています。主キーである「id」を使用してテーブルから取得される2つのレコードがありました。次に、これら2つのテーブルレコードデータを比較して、古い値と新しい値をビューに表示します。ここで私の質問は、2つのレコードを比較する方法です...データを取得するテーブルには、ほぼ20のプロパティがあります。すべてのプロパティを比較する必要がありますか、それとも最善の方法がありますか...誰かが解決策を見つけるのを手伝ってくれませんか。

4

1 に答える 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 に答える