Я хотел бы передать функцию LINQ-запросам для выполнения операций с существующими данными. Напр. У меня есть эта функция:Передача функции на запрос LINQ
string doStuff(Product prod)
{
return string.Format("{0} - {1}", prod.f1, prod.s2);
}
При запросе продуктов, я хотел бы передать в этой функции, так что она возвращает эту строку и присвоить его свойство продукта NewString
.
Пример POCO объект репозиторий возвращает:
class Product
{
public string NewString{get; set;};
public string f1 {get; set;};
public string s2 {get; set;};
}
//Service layer
public IList<Product> GetProducts()
{
//I currently have this:
return _repository.GetProducts().ToList();
//OR, is something like this possible?
return _repository.GetProducts().Select(p => p.NewString = doStuff(p));
}
Все методы в репозитории возвращает IQuerable<Product>
Так в основном, я хочу, чтобы создать новую строку из существующих данных из уровня обслуживания. Как это сделать, не перебирая возвращенный список объектов?
Продукт имеет более 15 объектов, мне придется их выписать? Я уже сделал все это задание в репозитории. Мне просто нужно назначить doStuff для NewString. –