2013-10-13 27 views
2

如何使用的string.join()中選擇

string.join(", ",) 

內選擇在LINQ查詢

它給誤差 LINQ到實體無法識別方法

'System.String Join(System.String, System.String[])' 
+5

顯示您的代碼。 –

+1

'string.Join'操作不容易轉換爲SQL,因此您不能在LINQ-to-Entities中使用它。 – Gabe

+0

你到底在做什麼?如錯誤消息所示,LINQ to Entities不支持string.join。但是,根據你想要做什麼,可能會有一些解決方法。 – devlife

回答

4

只有在枚舉結果後纔可能,將其稱爲ToList(),然後使用String.Join

var result = db.Person 
.Include("Occupations") 
.ToList() 
.Select(q=> new { 
    Name = q.Name, 
    Occupations = string.Join(", ", q.Occupations.Select(x=>x.Name)) 
});