【问题标题】:Entity Framework update field from other fields of the same class/model来自同一类/模型的其他字段的实体框架更新字段
【发布时间】:2021-12-21 07:36:41
【问题描述】:
public class Person
{
     public string FirstName { get; set; } = string.Empty
     public string LastName { get; set; } = string.Empty
     public string FullName { get; set; } = string.Empty
}

如何将FullName 更新为

FullName = $"{FirstName} {LastName}"

将上述行放在构造函数中似乎并没有削减它,因为 FirstNameLastName 的值似乎是默认值,并且实体框架也作为空字符串持续存在。

如何在不显式调用方法或从其他类直接分配给字段 FullName 的情况下使用 EF 进行这项工作?

包:EF Core Cosmos 3.1

【问题讨论】:

  • 您需要更清楚地了解在对象的生命周期中何时需要填充此值。也许更容易描述何时使用 FullName 属性。如果 FullName 作为列持久保存到数据库中,那么将其构建到您的添加/编辑/更新例程中是有意义的,如果仅在客户端上需要 FullName,那么我们可以利用一些序列化事件。如果您根本不需要持久化它,只需将其设为只读属性即可返回插值字符串。

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


【解决方案1】:

如果您不需要保留 FullName 属性,您可以使用:

[NotMapped]
public string FullName => $"{FirstName} {LastName}";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 2022-10-24
    • 2019-11-18
    • 2016-06-10
    相关资源
    最近更新 更多