我有一个PUT
请求,我传入了一个包含ID值和其他变量和值的json
字符串值。之后我将deserialize
它并从数据库中的json
中找到ID,然后更新值:
var bookininput = JsonConvert.DeserializeObject<dynamic>(value);
if (bookininput.id == null || bookininput.id == 0)
{
return BadRequest("no id provided");
}
else {
var log = _context.BIBOLogs.Where(input => input.Id == bookininput.id);
}
但是,我在.Where(input => input.Id == bookininput.id);
遇到问题,因为它告诉我bookininput.id是动态的,不能用于查找。还有其他方法吗?
在使用过滤器而不是dynamic
时尝试使用已知的类/类型。我假设在下面的例子中bookininput.id
是int
:
var bookininput = JsonConvert.DeserializeObject<dynamic>(value);
if (bookininput.id == null || bookininput.id == 0)
{
return BadRequest("no id provided");
}
else
{
int inputId = int.Parse(bookininput.id);
var log = _context.BIBOLogs
.Where(input => input.Id == inputId);
}