2013-02-06 19 views
0

我需要限制在Web方法中返回到我的頁面而不使用某種代理對象的值。在WebMethod JSON響應中限制來自LINQ的值

比方說,我有下面的類

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

和它看起來像一個WebMethod Car類;

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

返回到我的頁面的列表具有所有屬性。我如何排除說..引擎屬性,所以只有ID和名稱返回?

上面是純屬虛構例子,在現實世界中我使用Subsonic3對象返回一個列表等

回答

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

Duh。愚蠢的錯誤。我認爲這比它應該更難。謝謝。 – Jamsi