代码之家  ›  专栏  ›  技术社区  ›  Billy Coover

linq to sql中是否有“for xml path”等效项?

  •  4
  • Billy Coover  · 技术社区  · 15 年前

    我有一个博客条目表,一个标签表,以及一个将标签与博客条目相交的表。

    我想将博客条目的标记汇总到一个逗号分隔的字符串中,以便在同一结果集中返回。这就是我在SQL中的做法:

    select 
        be.Title
        ,Tags = lower((
            select
                stuff((
                    select distinct 
                        ',' + bc.Category
                    from    
                        BlogEntryCategory bec
                        join BlogCategory bc on bc.BlogCategory_ID = bec.BlogCategory_ID
                    where    
                        bec.BlogEntry_ID = be.BlogEntry_ID
                    for xml path('')),1,1,'')        
            )
        )
    from 
        BlogEntry be
    

    我正在使用for XML路径来汇总我的标记,我正在寻找用LINQ实现这一点的等效方法。

    1 回复  |  直到 15 年前
        1
  •  4
  •   Andrew Hare    15 年前

    这是Linq to SQL的其中一种情况 发光。

    这段代码应该留在数据库中——它将更容易维护,而且很可能在那里执行得更好。是否有特殊原因要将此工作代码移出数据库并移入应用程序代码?如果由我决定,我会把这个代码留在原处。