我有一个博客条目表,一个标签表,以及一个将标签与博客条目相交的表。
我想将博客条目的标记汇总到逗号分隔的字符串中,以便在同一结果集中返回。这就是我在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
我正在使用xml路径来推送我的标签,我正在寻找使用LINQ执行此操作的等效方法。
答案 0 :(得分:4)
这是LINQ to SQL 不闪耀的情况之一。
此代码应留在数据库中 - 它将更容易维护,并且很可能在那里表现更好。您是否有特殊原因希望将此工作代码移出数据库并移至应用程序代码中?如果由我决定,我会把这段代码保留在原来的位置。