我有下面的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();
string.Join
无效,错误是
LINQ to Entities无法识别该方法 '
System.String Format(System.String, System.Object, System.Object)
'
我谷歌搜索了很多,找不到任何其他解决方案。我想要做的是,dt.Products是一个数组,我想在一个字符串中将它们连接在一起。在Linq to Entities中是否可能?
答案 0 :(得分:6)
您将无法在查询中执行此操作,但您可以先通过调用.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();
但请注意,如果您的数据集特别大,则可能会对性能产生显着影响。