【问题标题】:Can I read/update only a part of an entity using entity core?我可以使用实体核心仅读取/更新实体的一部分吗?
【发布时间】:2020-10-31 00:06:28
【问题描述】:

我有包含电子邮件/名称/.../HashedPassword/Salt 的用户实体。

现在,每次用户登录后,整个用户实体都会转到客户端,以便用户可以修改一些属性。

但是我不希望发送最后两个属性;但是如果我在将它们发送给客户端之前将它们设置为 null,那么当实体返回时,我需要从数据库中获取原始实体,将两个属性设置为刚到达的实体,然后保存。

有没有更好的解决方案,比如只保存实体的一部分? 或者也许我是安全偏执狂,这不是问题。

【问题讨论】:

    标签: .net-core entity-framework-core .net-security


    【解决方案1】:

    为了避免阅读,您可以只选择一个没有您不想公开的属性的新对象:

       return user.Select(x => new User
            {
                Id = x.Id,
                Email = x.Email,
                Name = x.Name,
            });
    

    您的更新程序是处理此问题的正确方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-02-08
      • 1970-01-01
      • 2018-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-04
      • 2020-07-19
      相关资源
      最近更新 更多