我覆盖了我的类的Equals()方法,以比较类型为Guid的ID值。
然后Visual Studio警告:
... 覆盖了Object.Equals(object o)但未覆盖Object.GetHashCode()
所以我也覆盖了它的GetHashCode()方法,像这样:
public partial class SomeClass
{
public override bool Equals(Object obj)
{
//Check for null and compare run-time types.
if (obj == null || this.GetType() != obj.GetType()) return false;
return this.Id == ((SomeClass)obj).Id;
}
public override int GetHashCode()
{
return this.Id.GetHashCode();
}
}
看起来它能够工作。 我做得对吗?请记住Id是Guid类型。我的类是否为Entity Framework对象有关系吗?