[英]Web api skips all objects but first in List<T> when returning to client
[英]web api not returning all objects
我的Web api控制器中有一個如下所示的方法:
// GET api/categories/top
[HttpGet]
[Route("api/categories/top")]
public IHttpActionResult Top()
{
var models = service.GetRoot("Categories", "Assets").Categories;
var t = models.Where(model => !model.Deleted);
return Ok(t);
}
如果我運行該命令,我將第一個項目罰款,但其他項目顯示為
{"$ref":"3"},{"$ref":"13"},{"$ref":"14"},{"$ref":"15"}
如果我將代碼更改為:
// GET api/categories/top
[HttpGet]
[Route("api/categories/top")]
public IHttpActionResult Top()
{
var models = service.GetRoot("Categories", "Assets").Categories;
return Ok(models);
}
它工作正常(但這會顯示所有類別,包括我不想要的已刪除類別)。
有人知道為什么會這樣嗎?
那個怎么樣?
var models = service.GetRoot("Categories", "Assets").Categories;
var t = models.Where(model => !model.Deleted).ToList();
return Ok(t);
我希望返回未執行的IEnumerable對象時出現問題。
這是一個非常簡單的例子
public class Employee
{
public string Name { get; set; }
public bool Deleted { get; set; }
}
var employees = new List<Employee>();
employees.Add(new Employee{ Name = "Yasser", Deleted = false });
employees.Add(new Employee{ Name = "Hanselman", Deleted = true });
employees.Add(new Employee{ Name = "Neel", Deleted = true });
employees.Add(new Employee{ Name = "Ian", Deleted = false });
return employees.Where(model => !model.Deleted).ToList();
// GET api/categories/top
[HttpGet]
[Route("api/categories/top")]
public IHttpActionResult Top()
{
var models = service.GetRoot("Categories", "Assets").Categories;
var t = models.Where(model => !model.Deleted).ToList();
return Ok(t);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.