Консолидация FirstName / LastName в идентификацию ядра FullName ASP.NET. - PullRequest
0 голосов
/ 08 мая 2018

Я использую модели EF Core с первым кодом в ASP.NET Core 2.0.

В попытке упростить модели я попытался объединить поля FirstName и LastName модели ApplicationUser:

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

до

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

Тем не менее, когда я предоставляю данные семян:

...
FullName = "Test McTesterson"

Сервер SQL сохраняет только фамилию.

Я предполагаю, что есть какой-то атрибут, которым я могу украсить свое поле, чтобы включить оба имени в строку?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 09 мая 2018

Как уже говорили, вычисляемое поле - это путь. Однако самое чистое решение для меня - использовать интерполяцию строк с телом выражения:

public string FullName => $"{FirstName} {LastName}";
0 голосов
/ 08 мая 2018

Если цель состоит в том, чтобы упростить использование модели, я бы рекомендовал вместо этого реализовать вычисляемое поле:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...