我需要在不使用某种代理对象的情况下限制我在Web方法中返回到我的页面的值。
假设我有一个Car类,其中包含以下类
public class Car
{
public int Id { get; set; }
public string Name { get; set; }
public string Engine { get; set; }
}
和一个看起来像的网络方法;
[WebMethod]
public static List<Car> SearchCars(string search)
{
var cars = car.All().Where(x => x.name.StartsWith(search));
return cars.ToList();
}
返回我页面的列表具有所有属性。如何排除说..引擎属性,只返回ID和名称?
以上是一个纯粹的虚构示例,在现实世界中,我使用Subsonic3对象返回列表等。
答案 0 :(得分:2)
您可以使用投影仅选择要返回的字段。像这样:
[WebMethod]
public static List<Car> SearchCars(string search)
{
var cars = car.All().Where(x => x.name.StartsWith(search)).Select(x => new { x.Id, x.Name });
return cars.ToList();
}