0

ある種のプロキシオブジェクトを使用せずに、Webメソッドでページに返す値を制限する必要があります。

次のクラスの車のクラスがあるとしましょう

    public class Car
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Engine { get; set; }
    }

そして次のようなwebmethod。

[WebMethod]
public static List<Car> SearchCars(string search)
{
  var cars = car.All().Where(x => x.name.StartsWith(search));
  return cars.ToList();
}

私のページに戻るリストには、すべての属性があります。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 に答える