1

我正在使用实体框架。我有两条记录是使用主键“id”从表中检索的。现在我想比较这两个表记录数据并在我的视图中显示旧值和新值。现在我的问题是如何比较两条记录......我的表中有近 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;
    }

按照 Kim R 的建议改为 Equals < T >(T first, T second)

试试看:)我还没有测试过

于 2012-05-10T07:50:52.977 回答