Создать выражение> с использованием отражения

Я использую Moq для создания макетов набора данных.

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

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

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

У моего макета много свойств, поэтому я хотел бы выполнить этот шаг настройки с использованием отражения. Мне удалось Returnsчасть процесса, работающего через отражение, но я застрял на лямбда-методе для Setup.

Setupпринимает выражение

Expression>>, которое соответствует i => i.AcademicCycles

, и я хотел бы создать это динамически. Используя отражение, у меня есть следующее:

Имя свойства: "AcademicCycles"

Тип IQueryable

Тип AcademicCycle

У меня также есть экземпляр класса iв операторе лямбда, который является GoalsModelUnitOfWork

28
задан phoog 23 May 2012 в 17:24
поделиться