4
在選擇組加入我這個MS-SQL語句:C#LINQ的選擇由
SELECT cv.id FROM ContactValue cv
INNER JOIN (
SELECT mainId, max(version) as v
FROM ContactValue
WHERE version <= $Version(int)
GROUP BY mainId
)
AS t ON t.mainId = cv.mainId AND t.v = cv.version
WHERE cv.contact_id = $ContactID(int)
AND cv.isActive = 1
ORDER BY sort'
,並想使它在LINQ。 我做了上面的查詢,分成多個查詢,女巫性能不是很快。 它存在不存在任何的LINQ to LINQ加入
我的C#代碼:
var groupMax = from cv in db.ContactValue
where cv.contact_id == ContactID && cv.version <= Version
orderby cv.sort
group cv by cv.mainId into gcv
select new { mainID = gcv.Key, version = gcv.Max(cv => cv.version) };
foreach (var data in groupMax.ToList())
{
var Query = from cv in db.ContactValue
where cv.contact_id == ContactID && cv.mainId == data.mainID && cv.version == data.version && cv.isActive == true
select cv;
if (Query.Count() > 0)
{
ContactValue tmp = Query.First();
}
}
我很想拿到1-2的所有聯繫人查詢沒有1個查詢,然後爲每個聯繫人另一查詢...
請幫幫我!
謝謝它的作品,我只是改變加入通用汽車在groupMax新{ cv.mainId,cv.version}等於new {gm.mainId,gm.version},因爲我需要使用多個條件連接...更好,那麼我在同時使用的是:ExecuteStoreQuery(sqlQuery); –
Illusion
2011-06-15 12:39:30