我有我认为是一个复杂的SQL查询,我需要将它转换为LINQ查询。但是,我只是LINQ的初学者,并不知道如何才能正常工作。我试过搜索互联网,但仍无法使其正常工作。C#将SQL查询转换为LINQ
这里是我的SQL查询:
SELECT
a.empid,
CAST(IF(COUNT(*) > 10,FLOOR(COUNT(*)/10),1) AS CHAR(100)) lim,
CAST(GROUP_CONCAT(internalid) AS CHAR) internalIDS
FROM tblLogs a
INNER JOIN
(
SELECT
DISTINCT empid
FROM tblLogs
WHERE IsDeleted = 0 AND DateAdded = 2013-04-18
) b ON a.empid = b.empid
WHERE IsDeleted = 0 AND Remarks NOT LIKE '%proxy date used%' AND DateAdded = 2013-04-18 AND RecType = 8
GROUP BY empid;
嗨。这里是我更新的linq查询,但是它返回一个错误Linq,Entities不能识别方法string.join。这有什么问题?谢谢。 :)
var rows = from rec in context.tblWMSLogs join rec1
in context.tblWMSLogs.Where(t => t.DateAdded == refDate2 && t.IsDeleted == 0)
on rec.EmpID equals rec1.EmpID
where rec.DateAdded == refDate2 && rec.IsDeleted == 0 && !rec.Remarks.Contains("proxy date used") && rec.RecType == recType
group rec by rec.EmpID into g
select new WMSRandomViewModel
{
EmpID = g.Key,
Lim = (g.Count() > 10 ? Math.Ceiling(g.Count()/10d) : 1),
InternalIDs = string.Join(",", g.OrderBy(s => s.InternalID).Select(s => s.InternalID))
};//string.Join(",", g.OrderBy(s => s.InternalID).Select(s => s.InternalID))
//return rows.ToList();
return rows.ToList();
您尝试编译吗?如果是这样,它会给你你想要的东西吗?你的问题到底是什么? – ean5533 2013-04-22 03:25:14