我想将一个函数传递给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。 – 2010-10-23 16:18:34