【发布时间】:2018-10-25 18:24:10
【问题描述】:
ModelState.Isvalid 和 DbUpdateConcurrencyException 应该在 Controller 还是 Repository 中?我创建了一个 MVC 核心项目,在一张桌子上进行脚手架。但是,脚手架不会创建接口或存储库,因此为了正确设计软件,请将插入/更新代码放在存储库中。
只是询问 ModelState.IsValid 和 DbUpdateConcurrencyException 是否也应该放在存储库中?如果放置在存储库中,我会收到编译错误。我是软件设计和 MVC 的新手,还在学习中。
控制器
if (ModelState.IsValid)
{
try
{
_context.Update(ProductTransaction);
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!ProductTransactionExists(ProductTransaction.Id))
{
return NotFound();
}
else
{
throw;
}
存储库
ProductTransaction.Id= ProductTransactionViewModel.Id;
ProductTransaction.Date= ProductTransactionViewModel.Date
ProductTransaction.CustomerName = ProductTransactionViewModel.CustomerName
【问题讨论】:
-
ModelState是Controller的一个属性,其值由Controller设置。
标签: asp.net-mvc model-view-controller asp.net-core controller