我从return
函数获得了这段async
代码:
return await _context.Models.ToListAsync();
成功返回此值:
[
{
"id":"id",
"name":"name",
"url":"url",
"components":[]
}
]
现在,我不想像这样显示components
。
[
{
"id":"id",
"name":"name",
"url":"url"
}
]
到目前为止,我尝试过:
return await _context.Models.Select( p => new Model {
Id = p.Id, Name = p.Name, Url = p.Url
}).ToListAsync();
但是它仍将显示components
并且只会使它的值无效。
答案 0 :(得分:1)
这是因为如果不提供值,则将创建一个新的模型和事件,编译器会为其提供默认值,因此您需要创建一个新类并从中删除属性,或者需要动态填充它并将您的代码更改为以下内容:
return await _context.Models.Select( p => new {
Id = p.Id, Name = p.Name, Url = p.Url
}).ToListAsync();
答案 1 :(得分:0)
您应该创建新的模型类(DTO):
public class Model2
{
public int Id {get;set};
public string Name {get;set};
public string Url {get;set};
}
然后使用
p => new Model2 {
Id = p.Id, Name = p.Name, Url = p.Url
}).toListAsync
答案 2 :(得分:0)
您可以使用以下匿名类型:
myAlert.text = "test test test text"
或使用组件属性以外的所有所需属性创建DTO。
return await _context.Models
.Select(p => new {
p.Id,
p.Name
});
然后:
public class DTO
{
public string Id { get; set; }
public string Name { get; set; }
public string Url { get; set; }
}