我想在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