Я пытаюсь отфильтровать данные, которые возвращаются в поле со списком кендо, фильтрация основана на ID, Мне нужно вернуть все записи, содержащие текст фильтрации, не только равный единице , так что я сделал это, чтобы бросить идентификатор строки в следующей надрезаlinq для объектов не может преобразовать int в строку
Items = Mapper.Map<List<PurchaseOrder>, List<PurchaseOrderViewModel>>(
purchaseOrderRepository.GetMany(x =>
x.PurchaseOrderID
.ToString()
.Contains(text))
.ToList());
но это всегда возвращает LINQ к объектам не распознает метод «System.String ToString()»
так я пытался преобразовать dbset в список перед оператором where, как я нашел в другом сообщении LINQ to Entities does not recognize the method 'System.String ToString()' method in MVC 4 , но я получил другую ошибку говорит, что список не содержит определение Где (dbSet является экземпляром IDbSet)
public virtual IList<T> GetMany(Expression<Func<T, bool>> where)
{
return dbset.ToList().Where(where).ToList();
}
здесь Моим первоначальным (текущим) получить метод
sing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using System.Data;
using System.Linq.Expressions;
using Spine.ERP.DataAccess.DbFirstDataAccess;
using Spine.ERP.DataModel.Helpers;
namespace Spine.ERP.DataAccess.Infrastructure
{
public abstract class RepositoryBase<T> where T : class
{
private SSSDBEntities dataContext;
private readonly IDbSet<T> dbset;
protected RepositoryBase(IDatabaseFactory databaseFactory)
{
DatabaseFactory = databaseFactory;
dbset = DataContext.Set<T>();
}
protected IDatabaseFactory DatabaseFactory
{
get;
private set;
}
protected SSSDBEntities DataContext
{
get { return dataContext ?? (dataContext = DatabaseFactory.Get()); }
}
public virtual IQueryable<T> GetMany(Expression<Func<T, bool>> where)
{
return dbset.Where(where);
}
}
}
Любых что я могу сделать, чтобы решить эту проблему?
Спасибо за ответ, но я стараюсь это решение раньше, но такое же возвращение ошибки –
Stange, он должен работать. У меня никогда не было проблем с этим. Я не вижу причины, почему с этим кодом должна возникать одна и та же ошибка. Вы где-то вызываете 'ToString()' –
Нет, я не вызывал ToString() где-либо –