У меня есть POCOs из базы данных SQL Server с идентификационным полем идентификатора. Я хотел бы реализовать IEquatable таким образом я могу проверить, если они ту же запись, используйте .Contains()
на List<T>
и т.д.IEquatable в поле идентификации POCO
Предполагая, что я никогда не нужно сравнивать несохраненные экземпляров, это достаточно просто осуществить с помощью:
public bool Equals(MyClass other)
{
return this.ID == other.ID;
}
public override int GetHashCode()
{
return this.ID;
}
Я собираюсь сделать это, но просто хотел проверить, что все в порядке, поскольку я не уверен на 100%, что с этим связано GetHashCode, или если есть какие-либо другие соображения (например, «несохраненный экземпляр», один, который я могу отбросить), о котором я не знаю.
Чтобы узнать, что такое 'GetHashCode', см. [Этот ответ] (http://stackoverflow.com/a/16147925/572644). –