【发布时间】:2011-06-24 15:27:12
【问题描述】:
我覆盖了我班级的 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。 我的类是实体框架对象有关系吗?
【问题讨论】:
标签: c# .net entity-framework