Moq - выражение Linq в хранилище - укажите выражение в настройке

У меня есть метод в моем интерфейсе, который выглядит следующим образом:

T GetSingle(Expression criteria);

я пытаюсь смоделировать настройку что-то вроде этого (я понимаю, это нет работает):

_mockUserRepository = new Mock();
_mockUserRepository.Setup(c => c.GetSingle(x => x.EmailAddress == "[email protected]"))
    .Returns(new User{EmailAddress = "[email protected]"});

Я понимаю, что ям, передав неверный параметр в настройку.

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

_mockUserRepository.Setup(c => c.GetSingle(It.IsAny())
    .Returns(new User{EmailAddress = "[email protected]"});

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

Есть ли способ указать в настройках, какое выражение использовать?

Ответы на вопрос(2)

Ваш ответ на вопрос