实体ID作为输入模型字段与动作参数?

时间:2011-04-27 13:57:22

标签: asp.net-mvc models crud

用于创建或更新实体的输入模型是否具有用于标识实体的ID字段,或者您的编辑操作是否应接受ID参数?

比较

输入模型

[HttpPost]
public ActionResult(EntityInputModel input)
{
    var entity = _unitOfWork.CurrenSession.Get<MyEntity>(input.Id);
    // do editing
    // ...
}

动作参数

[HttpPost]
public ActionResult(Guid id, EntityInputModel input)
{
    var entity = _unitOfWork.CurrenSession.Get<MyEntity>(id);
    // ...
}

1 个答案:

答案 0 :(得分:1)

我个人更喜欢第一个。我总是为每个POST操作定义一个特定的视图模型。因此,如果此操作需要id,我将其作为此特定视图模型的一部分包含在内。