Есть ли существенная разница между .Find(id)
и .Where(x = >x.Id == id)
, которая должна заставить меня использовать .Find()
над .Where()/.First()
?
Я бы предположил, что .Find()
будет более эффективным, но настолько ли более эффективным, что я должен избегать .Where()/.First()
?
Я прошу, что я использую общий набор FakeDbSet в своих тестах, чтобы упростить реализацию поддельных результатов, и до сих пор я обнаружил, что должен наследовать этот класс и предоставить пользовательскую реализацию .Find()
, тогда как если я напишите мой код с помощью .Where()/.First()
Мне не нужно делать эту дополнительную работу.