0

我需要在不使用某种代理对象的情况下限制我在 web 方法中返回到我的页面的值。

假设我有一个带有以下课程的汽车课程

    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();
}

get 返回到我的页面的列表具有所有属性。我怎样才能排除说..引擎属性,所以只返回 ID 和名称?

以上纯属虚构示例,在现实世界中我使用 Subsonic3 对象返回列表等。

4

1 回答 1

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();
}
于 2013-02-06T04:59:01.557 回答