Crie uma expressão <Func <, >> usando reflexão

Estou usando o Moq para criar mocks de um conjunto de dados.

Eu criei uma pequena classe auxiliar que me permite ter um armazenamento de memória em vez de um banco de dados que torna o teste de unidade muito fácil. Dessa forma, eu posso adicionar e remover itens do meu conjunto de dados simulado, isso me permite testar minhas chamadas de serviço de inserção e exclusão.

Durante a configuração do mock eu tenho uma linha que se parece com o seguinte

this.Setup(i => i.AcademicCycles).Returns(mockStore.GetList<AcademicCycle>());

Minha simulação tem muitas propriedades, portanto, gostaria de executar essa etapa de configuração usando reflexão. Eu consegui oReturns parte do processo de trabalho via reflexão, mas eu estou preso no método lambda paraSetup.

Setup leva um

Expression<Func<GoalsModelUnitOfWork, IQueryable<AcademicCycle>>> que corresponde aoi => i.AcademicCycles

e gostaria de criar isso dinamicamente. Usando reflexão eu tenho o seguinte:

O nome da propriedade: "AcademicCycles"

O tipoIQueryable<AcademicCycle>

O tipoAcademicCycle

Eu também tenho a instância doi na instrução lambda que é umGoalsModelUnitOfWork

questionAnswers(3)

yourAnswerToTheQuestion