我想在visual studio中使用linq的姓。在我的数据库中,我有“FullName”字段名称。使用LINQ查找姓氏
在这个领域我有像“Subbu Cargos”的价值 我想在我的文本框中显示“Cargos”。
我怎样才能做一个简单的linq查询?
我想在visual studio中使用linq的姓。在我的数据库中,我有“FullName”字段名称。使用LINQ查找姓氏
在这个领域我有像“Subbu Cargos”的价值 我想在我的文本框中显示“Cargos”。
我怎样才能做一个简单的linq查询?
难道是在简单地说:
return FullName.Split(' ').Last()
?
它不能与Linq 2一起使用Sql – 2012-03-30 11:40:35
我会建议不要试图解析出姓氏。就像你说的那样,名字和姓氏可以切换,有人可能会有第二个名字,或者是由多个单词组成的姓氏(“van Dijk”),或者根本没有输入姓氏。
看看这篇文章:Falsehoods Programmers Believe About Names
如果仍要但是要做到这一点,尝试这样的事情:
customers.Select(c => c.FullName.Split(' ').Last());
你可能不能够这样在服务器端。在这种情况下:
customers
.Select(c => c.FullName)
.ToList()
.Select(n => n.Split(' ').Last());
未经测试,但这应该给出一个粗略的想法。
我建议把它分解成不同的字段 - 名字,中间名,姓氏,标题 - 当你显示它时重新建立名字。
如果你仍然决定使用一个字段,然后再考虑喜欢的查询:
string s = "Subba Cargos";
var lastnames = from name in s.Split(new Char[] { ' ' }).Last<string>()
select name;
为什么s.Split(new char ..)..只是一个s.Split()将做..此外,这将返回IEnumerable
你也可以做这样的:
customers
.Select (b => b.FullName.Substring ((b.FullName.IndexOf(' ') + 1)));
我姓Iftode和自我的文化的名字拼写为“Iftode Adrian”(即姓氏第一:)),不要忘记我也有一个中间名,也许将来我会获得一个标题,如果它会如何处理我的名字被保存在你的数据库? – 2012-03-30 11:22:34
有趣的是,你选择了这样做的方式是错误的:) – 2012-03-30 11:30:57
姓氏也可以包含由空格分隔的几个词。在一些文化中,你会遇到很多这样的文化。如果您仍然可以修改数据库以使用单独的字段,则应该这样做。 – Botz3000 2012-03-30 11:32:56