Я использую метод System.Data.Objects.EntityFunctions.TruncateTime
, чтобы получить дату в datetime в моем запросе:
if (searchOptions.Date.HasValue)
query = query.Where(c =>
EntityFunctions.TruncateTime(c.Date) == searchOptions.Date);
Этот метод (я считаю, что это относится и к другим методам EntityFunctions
) не может выполняться вне LINQ to Entities. Выполнение этого кода в unit test, который фактически является LINQ для объектов, вызывает выброс NotSupportedException
:
System.NotSupportedException: эту функцию можно вызывать только из LINQ to Entities.
Я использую заглушку для репозитория с поддельным DbSets
в моих тестах.
Итак, как я должен unit test мой запрос?