Поиск фамилии с помощью LINQ - PullRequest
0 голосов
/ 30 марта 2012

Я пытаюсь получить фамилию, используя linq в visual studio. В моей базе данных у меня есть имя поля типа "FullName".

В этом поле у ​​меня есть значение типа "Subbu Cargos" Я хочу показать "грузы" в моем текстовом поле.

Как мне сделать простой запрос linq?

Ответы [ 4 ]

1 голос
/ 30 марта 2012

Было бы слишком просто сказать:

return FullName.Split(' ').Last()

?

0 голосов
/ 31 марта 2012

Вы также можете сделать это так:

customers
.Select (b => b.FullName.Substring ((b.FullName.IndexOf(' ') + 1)));
0 голосов
/ 30 марта 2012

Я бы предложил разбить его на несколько полей - Имя, Отчество, Фамилия, Название - и перестроить имя на лету, когда вы его отобразите.

Если вы все еще решили использовать одно поле, рассмотрите запрос, подобный следующему:

string s = "Subba Cargos";
var lastnames = from name in s.Split(new Char[] { ' ' }).Last<string>()
                        select name;
0 голосов
/ 30 марта 2012

Я бы предложил не пытаться разобрать фамилию. Как вы говорите, имя и фамилию можно поменять местами, у кого-то может быть второе имя или фамилия, состоящая из нескольких слов («van Dijk»), или может вообще не быть введена фамилия.

Ознакомьтесь с этой статьей: Программисты лжи верят в имена

Если вы все еще хотите сделать это, попробуйте что-то вроде этого:

customers.Select(c => c.FullName.Split(' ').Last());

Возможно, вы не сможете сделать это на стороне сервера. В этом случае:

customers
    .Select(c => c.FullName)
    .ToList()
    .Select(n => n.Split(' ').Last());

Не проверено, но это должно дать грубое представление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...