【发布时间】:2015-09-09 08:41:57
【问题描述】:
我正在研究 LinQ to Entity, 这是我的工作代码:
var products = from p in AppContext.Products
join ... //joins tables
where ... //conditions
select p;
var result = products.OrderBy(p => p.Name);
//Move it to custom format.
return result.Select(p => new
{
p.Id,
p.Name,
p.Description,
...
/*This looks ugly and need to be moved out to somewhere else*/
Categories = FindCategories(p.Id, true),
MetaData = AppContext.ProductMetas.Where(pm => pm.ProductId == p.Id),
Photos = AppContext.ProductPhotos.Where(pp => pp.ProductId == p.Id)
}).Skip(skip).Take(take);
但是,我想将“返回新...”部分移到其他地方(在将对象转换为 json 时最好注入 asp.net api 处理程序)。例如:
//GetAll()
...
var products = from ... in ... select p;
return products;
//How to register some handler
var results = new List<object>();
foreach (var product in resultSet) {
//merge objects into result set
results.Add(new {/*Merge properties together*/})
}
但我不知道该怎么做。有熟悉这个的,请帮忙。
【问题讨论】:
标签: c# asp.net-web-api linq-to-sql httphandler