linq to sql字符串联接怎么办?

思南·拜拉克图坦

我想在列表中合并列表的名称。错误消息:LINQ to Entities无法识别方法'System.String Join(System.String,System.String [])',并且该方法无法转换为商店表达式。

dgv.DataSource = this.oFacade.Context.Books
                                         .Include(c => c.Categories)
                                        .Select(c => new dtoObjectDGV
                                        {
                                            ID = c.ID,
                                            Name = c.Name,
                                            CategoryInfo= String.Join(", ", c.Categories.Select(d => d.Name).ToArray())
                                        }).ToList();

结果:名称= C#书籍CategoryInfo = X类别,Y类别,... bla bla

八叶球菌

JoinLinq to Entities不支持method,我建议您先投影所需的信息,然后使用AsEnumerable扩展方法,可以切换到Linq to Object来使用Join方法:

DataSource=this.oFacade.Context.Books
                               .Include(c => c.Categories)
                               .Select(c => new 
                                            {
                                               ID = c.ID,
                                               Name = c.Name,
                                               Categories= c.Categories.Select(d => d.Name)
                                             })
                              .AsEnumerable()
                              .Select(c => new dtoObjectDGV
                                            {
                                               ID = c.ID,
                                               Name = c.Name,
                                               CategoryInfo= String.Join(", ", c.Categories)
                                             })
                             .ToList();

如果您的表不需要太多列,则可以考虑不进行第一个投影:

DataSource=this.oFacade.Context.Books
                               .Include(c => c.Categories)
                               .AsEnumerable()
                               .Select(c => new dtoObjectDGV
                                            {
                                               ID = c.ID,
                                               Name = c.Name,
                                               CategoryInfo= String.Join(", ", c.Categories.Select(d => d.Name).ToArray())
                                             })
                               .ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

LINQ的执行推迟了,但是怎么办呢?

来自分类Dev

用联接表联接,怎么办?

来自分类Dev

Linq to SQL协助与联接

来自分类Dev

Linq to SQL协助与联接

来自分类Dev

嵌套sql怎么办?

来自分类Dev

Linq to Sql Count包含联接

来自分类Dev

LINQ to SQL右外部联接

来自分类Dev

使用联接对Linq的SQL查询

来自分类Dev

LINQ to SQL右外部联接

来自分类Dev

LINQ Where语句与OR串联

来自分类Dev

LINQ语句中的串联

来自分类Dev

Linq to Objects:区分+串联

来自分类Dev

sql查询使用group by怎么办

来自分类Dev

sql查询使用group by怎么办

来自分类Dev

如果字符串中间出现空字符怎么办?

来自分类Dev

Linq有多个联接

来自分类Dev

Linq to Entities无法识别字符串。格式或串联“ +”

来自分类Dev

如果不想阅读整个字符串怎么办?

来自分类Dev

是否可以从数组初始化字符串向量?如果是这样,怎么办?

来自分类Dev

PHP删除了字符串中单词的后续出现,我该怎么办?

来自分类Dev

如果不想阅读整个字符串怎么办?

来自分类Dev

如果中文字符串显示在Python的pandas DataFrame中怎么办

来自分类Dev

RESTful API,如果查询字符串不够长怎么办?

来自分类Dev

Python:文本文件在多行中替换不同的字符串怎么办?

来自分类Dev

从SQL到LINQ有很多联接

来自分类Dev

LINQ to SQL:在多个列上左联接

来自分类Dev

使用SQL语法在LINQ中执行联接

来自分类Dev

LINQ to SQL:在多列上左联接

来自分类Dev

班级怎么办?