0

伙计们,要更新用户个人资料,如果用户只想更新一个详细信息,可以说我的控制器中的电子邮件我正在这样做:

try
        {
            MembershipUser user = Membership.GetUser(model.UserName);

            user.Email = model.Email;
            user.IsApproved = model.Active;
            user.ChangePassword(model.Password, model.ConfirmPassword);

            string password = user.GetPassword();
            user.ChangePasswordQuestionAndAnswer(password, model.SecretQuestion, model.SecretQuestionPassword);

            Membership.UpdateUser(user);

            return Content("Usuário Atualizado com Sucesso!");

        }

问题是:我是否需要设置一些 If 条件来检查是否设置了其他值,方法是检查该字段是否未禁用,以便我只能更改所需的列,或者执行完整的更新,因为我拥有所有具有从数据库返回的值及其值的字段?

我想要一个性能良好的解决方案,但我不知道检查所有字段或执行完整更新是否会更好。

请你帮助我好吗?谢谢

4

2 回答 2

2

在这种用例中考虑性能是浪费时间。您的用户是否会大规模更新他们的电子邮件,比如说...每秒 1000 次?这是几乎从未使用过的功能之一。

想想好的设计。制定有意义的方法。稍后优化,仅当您遇到性能问题时。

于 2012-11-23T15:18:30.873 回答
0

如果您的意图是仅更新电子邮件,则仅设置电子邮件。所有其他字段都是从数据库加载的,因此它们将保留其值。这也将是性能友好的分配明你在幕后使用某种 ORM。因为 ORM 生成的 SQL 会很简洁。

于 2012-11-23T14:57:58.980 回答