2017-03-24 70 views
-3

在LINQ select操作中通過連接兩個字符串來檢索一個字符串的正確方法是什麼?在LINQ查詢中將兩個字符串連接爲一個

var displayName = _db.Users.Where(e => e.Id == appId) 
          .Select(d => new { d.Firstname, d.Lastname }) 

我知道有一種方法可以返回這兩個屬性的串聯,但我沒能拿出正確的語法。

+0

你想在一個變量的名字和姓氏? – Marco

+5

嗯,'d.FirstName +「」+ d.LastName'?目前還不清楚你要求什麼... –

+0

@Jon Skeet ...我試過。選擇(d => new {d.Firstname +「」+ d.Lastname}),顯示爲錯誤 – dinotom

回答

2

用C#6串插,就變成:

var displayName = _db.Users.Where(e => e.Id == appId) 
          .Select(d => $"{d.Firstname} {d.Lastname}"); 

請注意:.Where會返回一個枚舉!您可能會考慮.FirstOrDefault.First而不是.Where

+3

EF商店是否支持插值? – Igor

+0

@Igor不知道'_db.Users'是什麼,所以這就是我開始做的事情。 – crashmstr

+0

OP中的代碼只是僞代碼。我會使用FirstorDefault。 – dinotom

2

只需使用+

.Select(d => d.Firstname + " " + d.Lastname) 
+0

String.Concat字符串,總是... –

+2

暫時還沒有使用實體框架,但不確定是否支持string.concat –

+0

@SelmanGenç儘管你沒有錯過任何東西 - 它確實不支持。我的意思是'string.Concat'。 '+'沒問題。 –