我有一个相当简单的HttpGet
请求,它通过Id返回一个模型。
它正在工作,但不会返回为null的模型属性。它只是把他们排除在外。
我搜索了又搜索,但我找不到一种方法让它返回每个模型属性,即使它恰好为null。
这是我的方法:
[HttpGet("GetOptionsByMachineId/{id}")]
public async Task<ActionResult<IEnumerable<MachineOptions>>> GetOptionsByMachineId(Guid id)
{
var optionsByMachine = await _context.MachineOptions.Where(q => q.MachineId == id).OrderBy(c => c.OrderId).ToListAsync();
return optionsByMachine;
}
这是MachineOptions的模型:
public partial class MachineOptions
{
public Guid OptionId { get; set; }
public Guid? PartId { get; set; }
public string OptionText { get; set; }
public string PartDepartment { get; set; }
public string DepartmentManager { get; set; }
public int? OrderId { get; set; }
}
有时数据库中MachineOptions的值为null,但我仍然希望控制器将模型属性返回为null,如下所示:
{
"OptionId": "3ec4daad-b104-4b0f-9e5d-236bdc853a58",
"PartId": "dfd5fb42-d47c-4445-8168-82201ddc1247",
"OptionText": "Clear Coat",
"PartDepartment": "Paint",
"DepartmentManager": "" // or just say null
"orderId": 1
}
但现在的情况是,它只保留了任何空值或null值,在本例中是DepartmentManager,DepartmentManager完全缺失,如下所示:
{
"OptionId": "3ec4daad-b104-4b0f-9e5d-236bdc853a58",
"PartId": "dfd5fb42-d47c-4445-8168-82201ddc1247",
"OptionText": "Clear Coat",
"PartDepartment": "Paint",
"orderId": 1
}
我试着为";其中";,但我找不到。
有办法让它做我需要的事吗?
谢谢!
其中一种方法是
[HttpGet("GetOptionsByMachineId/{id}")]
public async Task<ActionResult<IEnumerable<MachineOptions>>> GetOptionsByMachineId(Guid id)
{
MachineOptions optionsByMachine=new MachineOptions();
MachineOptions = await _context.MachineOptions.Where(q => q.MachineId == id).OrderBy(c => c.OrderId).ToListAsync();
if(MachineOptions.DepartmentManager==null)
{
MachineOptions.DepartmentManager="null";
}
return optionsByMachine;
}