SQL 服务器 - 最佳实践 - ASP.NET/Entity 框架



我的问题围绕着最佳实践发展。

现在我正在使用具有 ASP.NET 的实体框架,并希望它具有最佳性能。

您通常会在添加现有记录之前签入数据库中的现有记录,还是依赖于引发的异常,甚至期望给定的参数是相关且活跃的。

示例:(ASP.NET 标识)

public ResultWrapper AddUserToRole(string user, bool userId, string role, bool roleId)
{
    ApplicationUser appUser = FindUser(user, userId);
    ApplicationRole appRole = FindRole(role, roleId);
    if (appUser == null || appRole == null)
        return new ResultWrapper(false, "Unknown user or role");
    else
    {
        IdentityResult result = userManager.AddToRole(appUser.Id, appRole.Name);
        db.SaveChanges(); // AutoSaveChanges is false, so update.
        return new ResultWrapper(result.Succeeded, result.Errors);
    }
}

除了是一个非常基于意见的问题之外,我认为可以遵循适当的指导方针。

您通常会在添加现有记录之前签入数据库中的现有记录,还是依赖于引发的异常,甚至期望给定的参数是相关且活跃的。

在我看来,这完全取决于上下文。

对于极高的事务,我会编写一个存储过程。

否则,这取决于操作的并发性,在这种特定情况下,我认为不会有多个人尝试将同一个人添加到同一角色,因此例外情况被最小化且可以接受。

最新更新