0
我有以下查询,我想在Linq(使用c#)中编写它。我应该怎么做?将SQL查询转换为linq查询
declare @parentId bigint
set @parentId = (select ArticlePart from tbl_Article where ArticleID = 70001)
declare @ids varchar(100)
set @ids=''
while @parentId is not null
begin
set @ids = @ids +CAST(@parentId as varchar(50))+','
set @parentId = (select ArticlePart from tbl_Article where ArticleID = @parentId)
end
为了获得最佳性能,你应该写为[递归CTE(HTTP:// MSDN。 SQL中的microsoft.com/en-us/library/ms186243(v=sql.105).aspx)。不是linq。 – Magnus
Linq不能做控制流,也不能做递归CTE。我建议你按照Magnus的建议写一个递归CTE,然后使用EF或L2S或nHibernate将查询结果映射到对象中。 – Aron
查看Linqer http://www.sqltolinq.com/ – 2013-05-18 10:05:12