Побочные эффекты для переопределения Equals для сущностей Entity Framework - PullRequest
0 голосов
/ 03 марта 2019

У меня есть большая кодовая база, где я использую Entity Framework 6. Почти все мои объекты имеют ID в качестве основного столбца.

Некоторые объекты будут кэшироваться в течение длительного периодавремени, поэтому не все они принадлежат одному и тому же DbContext.

Поэтому я не могу действительно сравнить ссылки, в то время как строка базовой базы данных будет такой же «логическая вещь» .

Теперь я думаю о переопределении Equals, ==, GetHashCode(), != и т. Д. Для столбца ID , поэтому я могу:

  • делать, если ( actor1 == actor2 ) вместо проверки идентификаторов и , не забывая делать нулевую проверку
  • использовать Dictionary<Actor,OtherClass> вместо того, чтобы делать это на слабо набранном идентификаторе

Я думаю, что теоретически это может сделать код более читабельным и статически типизированным.

Поскольку это действительно большая база кода, я боюсь любых побочных эффектов, о которых я не думаю, иэто удивит меня, когда код будет в производстве.

  • будет все внутренности Entity Framework все еще работает, как и ожидалось?
  • Есть ли какой-либо другой отрицательный побочный эффект, который я должен учитывать?
...