是否可能或在模型中拥有自定义默认值的最佳方法是什么

时间:2018-02-13 00:32:37

标签: c# entity-framework asp.net-core

我想知道是否可以在模型中使用自定义默认值

示例我的模型具有DateUpdated字段和UpdateBy字段

在我的模特中

public class Document
{
    public int Id { get; set; }

    [Required, StringLength(2)]
    public string DocumentCode { get; set; }

    public string DocumentName { get; set; }

    public DateTime DateUpdated { get; set; } = DateTime.Now;

    //Id of the current logged user
    public string UpdatedBy { get; set; }
}

在我的模型中,我有这行代码public DateTime DateUpdated { get; set; } = DateTime.Now;来设置DateUpdated的默认值

现在我也希望在我的UpdateBy字段中,UpdatedBy是登录用户的当前ID。

我想做这样的事情

//Id of the current logged user
    public string UpdatedBy { get; set; } = GetCurrentUserId();

但是我不确定并且坚持,如果有可能或者是一个好的方法,我不会这样做。

到目前为止,这是我提供UpdateBy

的代码
if (ModelState.IsValid)
        {
            document.UpdatedBy = (await _userManager.GetUserAsync(HttpContext.User)).Id.ToString();
            _context.Add(document);
            await _context.SaveChangesAsync();
            return RedirectToAction(nameof(Index));
        }
        return View(document);

我总是在每个创建/编辑中重写代码,并且我有许多具有相同场景的控制器。我觉得这是多余的,我只是想知道什么是最好的清洁方式。谢谢..

0 个答案:

没有答案