Что я должен назвать методом проверки, если два объекта ссылаются на один и тот же объект БД? - PullRequest
1 голос
/ 26 ноября 2010

У меня есть объекты сущностей, которые синхронизируются с базой данных.Я обычно использую эти сущности в трех разных сравнениях:

  1. Проверьте, являются ли два объекта сущности одним и тем же объектом CLR.
  2. Проверьте, равны ли все свойства двух объектов сущности.
  3. Проверьте, ссылаются ли два объекта сущности на один и тот же объект базы данных, даже если некоторые свойства различаются.

Для 1 я использую Object.ReferenceEquals ().Для 2 я перезаписываю Equals (), проверяя все свойства.Для 3 я был немного противоречивым.У некоторых сущностей есть метод Match, у некоторых есть метод IsSame.Логика метода сравнивает их первичный ключ и, если еще не был назначен базой данных, их вторичный ключ (если он у них есть).

Многие сценарии кода были бы проще, если бы я использовал Equals для сравненияключи (например, я мог бы проверить список, просто используя Contains ()), но я бы смутился, если бы Equals сравнивал только ключи и не проверял все свойства.

Мой сценарий - система N-уровняс самообследованием сущностей.Мне часто приходится обновлять список сущностей или аналогичных с обновленной сущностью, поступающей с другого уровня.

Есть ли консенсус в отношении наименования метода, проверяющего, ссылаются ли две сущности на одну и ту же логическую сущность?KeyEquals ()?SameEntity ()

1 Ответ

2 голосов
/ 26 ноября 2010

DbEquivalent ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...