2013-11-15 100 views
2

我有以下如何將字符串數組轉換爲Linq中的字符串爲實體?

var dd = (from dt in d 
      select new 
      { 
       dt.id, 
       dt.date, 
       dt.customerid, 
       dt.customer, 
       dt.Description, 
       dt.defect, 
       dt.address, 
       products = string.Join(",", dt.products) 
      }).ToList(); 
LINQ查詢

string.Join沒有工作,錯誤的是

LINQ到實體無法識別方法 'System.String Format(System.String, System.Object, System.Object)'

我用谷歌搜索很多,並找不到任何其他解決方案。我想要做的是,dt.Products是一個數組,我想將它們連接在一起形成一個字符串。 Linq to Entities有可能嗎?

回答

5

您不能在查詢內做到這一點,但您可以先在內存中調用.AsEnumerable()。試試這個:

var dd = 
    (from dt in d 
    select new 
    { 
     dt.id, 
     dt.date, 
     dt.customerid, 
     dt.customer, 
     dt.Description, 
     dt.defect, 
     dt.address, 
     dt.products 
    }) 
    .AsEnumerable() 
    .Select(dt => new { 
     dt.id, 
     dt.date, 
     dt.customerid, 
     dt.customer, 
     dt.Description, 
     dt.defect, 
     dt.address, 
     products = string.Join(",", dt.products) 
    }).ToList(); 

但是請注意,如果你的數據集是特別大,這可能會導致明顯的性能影響。

相關問題