【问题标题】:ASP.NET - Transform data when loading it from database into entityASP.NET - 将数据从数据库加载到实体时转换数据
【发布时间】:2021-01-24 22:32:27
【问题描述】:

假设我们在数据库中Person 表的列中存储了全小写的名字,例如:“john”、“jane”、“mary”等。

当我将名字加载到Person 实体中时(例如,为了完成一个查询),我想转换名字以使第一个字母大写。所以“约翰”、“简”等。

如何使用 C#/Entity Framework 做到这一点。我们也使用 Auto-Mapper。

我想一般来说,在将记录加载到实体之前,我将如何转换表记录中的数据?

【问题讨论】:

  • this 是否回答了您问题的数据转换部分?
  • 那么到目前为止,您尝试了什么?请向我们展示您的代码并解释您在哪里卡住了?
  • 您可以创建一个[NotMapped] 属性,将第一个字符大写,然后在需要显示结果时传递该值。这样数据库本身的数据就不会受到影响。
  • 字符串结果 = CultureInfo.InvariantCulture.TextInfo.ToTitleCase(textToChange);

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


【解决方案1】:

您可以添加一个 notMapped 属性,例如:

        [NotMapped]
        public string NameTitleCase
        {
            get
            {
                return CultureInfo.InvariantCulture.TextInfo.ToTitleCase(this.Name.ToLower());
            }
        }

记得加

using System.Globalization;

【讨论】:

    猜你喜欢
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多