Jam*_* L. 5 entity-framework-core asp.net-core-mvc asp.net-core-webapi
我是 ASP.NET MVC Core Web API 和 EF Core 的新手,我正在创建一个简单的 MVC Web API 演示,如下所示。
[HttpPut("{id}")]
public async void Put(int id, [FromBody]Student student)
{
if (ModelState.IsValid)
{
var stu = _context.Students
.Where(s => s.StudentId == id)
.SingleOrDefault();
var updateResult = await TryUpdateModelAsync<Student>(stu, "", s => s.FirstName, s => s.LastName, s => s.EnrollmentDate);
_context.SaveChanges();
}
}
Run Code Online (Sandbox Code Playgroud)
问题是这TryUpdateModelAsync不起作用,更改没有更新到数据库。
我想知道:
如果TryUpdateModelAsync可以在MVC Web API 中使用?
我真的不想写像下面这样无聊的代码,如何避免从一个对象到另一个相同类型的对象进行属性值设置?(这是我使用的第一个原因TryUpdateModelAsync)
stu.FirstName = student.FirstName;
stu.LastName = student.LastName;
stu.SomeOtherProperties = student.SomeOtherProperties;
_context.SaveChanges();
Run Code Online (Sandbox Code Playgroud).NET 核心版本:1.1.0
ASP.Net 核心版本:1.1.0
实体框架核心版本:1.1.0
请参阅GitHub 问题 TryUpdateModelAsync() 不适用于 ASP.NET Core MVC Web API,以获得明确的答案。
该[FromBody]属性使用格式化程序将请求正文反序列化为一个对象(例如,使用 JSON 或 XML)。
另一方面,包含TryUpdateModelAPI 的模型绑定使用值提供程序从表单主体(如果有)、查询字符串、路由数据或其他一些地方获取数据。
有几种方法可以到这里:
| 归档时间: |
|
| 查看次数: |
6041 次 |
| 最近记录: |