0

我想将以下 SQL 查询转换为 LINQ

SELECT a.* 
FROM   campaign_newslettersubscriber_track a 
       INNER JOIN (SELECT DISTINCT campaignid, 
                                   Min(id) AS id 
                   FROM   campaign_newslettersubscriber_track 
                   GROUP  BY campaignid) AS b 
               ON a.campaignid = b.campaignid 
                  AND a.id = b.id 
4

2 回答 2

0
 var subquery = from c in objectContext.campaign_newslettersubscriber_track 
                         group c by c.campaignid into g
                         select new
                         {
                             id = g.Min(x => x.campaignid),
                             campaignId = g.Key
                         };

var n = from c in objectContext.campaign_newslettersubscriber_track 
        join cin in subquery.Distinct() on c.campaignid equals cin.campaignId
        select c;
于 2013-08-19T14:32:52.167 回答
0

我会研究名为Linqer的工具。

它可以采用 T-SQL 并将其转换为 LINQ、LINQ to SQL(使用SqlMetal)或 LINQ to Entities(使用EdmGen)。

请注意,这不是一个免费工具(在撰写本文时,一个许可证 60.00 美元,更多更便宜)并且不会转换所有 T-SQL 函数,这里是支持的函数列表。

于 2013-08-19T14:33:00.000 回答