簡體   English   中英

將SQL查詢轉換為linq查詢

[英]translate SQL query to linq query

我有以下查詢,我想用Linq(使用c#)編寫。 我該怎么辦?

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

並不是說這可能是解決問題的最佳方法,而是回答這個問題:

var ids = string.Join(",", ArticleQueriable(articles, 70001));


Queriable<int> ArticleQueriable(Queriable<Article> tbl_Article, int parentID)
{
    while (true)
    {
        var parent = tbl_Article.SingleOrDefault(a => a.ArticleID == parentID);

        if (parent != null)
        {
            parentID = parent.ArticlePart.Dump();
            yield return parentID;
        }
        else
        {
            yield break;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM