Я использую шаблон спецификации в EF Code First.Когда я делаю заказ по операции, VS выдает новое исключение
Шаблон спецификации копируется из eShopOnWeb
Я просто немного изменился, вот мой код изменения:
public class Specification<T> : ISpecification<T>
{
public Expression<Func<T, object>> OrderBy { get; private set; }
public Specification(Expression<Func<T, bool>> criteria)
{
Criteria = criteria;
}
public Specification<T> OrderByFunc(Expression<Func<T, object>> orderByExpression)
{
OrderBy = orderByExpression;
return this;
}
}
Вот мой код вызова, он очень прост:
static void TestSpec()
{
var spec = new Specification<ExcelData>(x => x.RowIndex == 5)
.OrderByFunc(x => x.ColumnIndex);
using (var dbContext = new TechDbContext())
{
var top10Data = dbContext.ExcelData.Take(10).ToList();
var listExcel = dbContext.ApplySpecification(spec).ToList();
Console.WriteLine();
}
}
Если я прокомментирую OrderByFunc , тогда у меня все нормально.
без ошибок. Я много раз пытался найти сообщение об ошибке в Google, но ни один из ответов не является моим случаем.
Поэтому я должен задать вопрос здесь.
Когда я отлаживаю OrderBy свойство в SpecificationEvaluator.cs , я обнаружил, что есть Преобразовать метод.
Итак, я знаю, что ошибка связана с ошибкой приведения, но как мне исправить эту ошибку типа приведения?
Пожалуйста, помогите мне!