簡體   English   中英

將FirstName / LastName整合為FullName ASP.NET Core Identity

[英]Consolidate FirstName/LastName into FullName ASP.NET Core Identity

我在ASP.NET Core 2.0中使用EF Core代碼優先模型。

為了簡化模型,我嘗試合並ApplicationUser模型的FirstNameLastName字段:

public class ApplicationUser : IdentityUser<int>
...
public string FirstName { get; set; }
public string LastName { get; set; }
...

...
public string FullName { get; set; }
...

但是,當我提供種子數據時:

...
FullName = "Test McTesterson"

SQL Server僅保存姓氏。

我的假設是,可以使用某種屬性來修飾字段以在字符串中包含兩個名稱?

提前致謝。

如果目標是簡化模型的使用 ,我建議實施一個計算字段改為:

public string FullName 
{ 
    get { return string.Format("{0} {1}", FirstName, LastName); }
}

如果您想變得更高級,可以添加一種允許格式化的方法:

public string GetFullName(string format)
{
    return string.Format(format, FirstName, LastName);
} 

用法示例:

var name = user.GetFullName("{0} {1}"); //returns John Doe
var name2 = user.GetFullName("{1}, {0}"); //returns Doe, John

正如其他人所說,計算字段是必經之路。 但是,對我來說,最干凈的解決方案是對表達式主體使用字符串插值:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM