将SQL语句转换为LINQ VS2010
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将SQL语句转换为LINQ VS2010相关的知识,希望对你有一定的参考价值。
我很感激帮助将以下sql语句转换为linq:
select *
from (
select
*,
rn = row_number() over (partition by ClientId order by VisitId)
from
Visit
) activityWithRn
inner join vw_MasterView on vw_MasterView.VisitId = activityWithRn.VisitId
where activityWithRn.rn =3
当我使用Linqer(一个很棒的程序)时,我收到以下错误:
SQL cannot be converted to LINQ: Field [rn = row_number() over (partition by ClientId order by VisitId)] not found in the current Data Context.
提前致谢。
答案
除了使用row_number() over
之外,我认为LINQ中Skip...Take
没有任何相应的功能:
var q = (from v in Visit
join mv in vw_MasterView on v.VisitId equals mv.VisitId
orderby v.VisitId
select v).Skip(2).Take(1);
以上是关于将SQL语句转换为LINQ VS2010的主要内容,如果未能解决你的问题,请参考以下文章
将 SQL 语句转换为 DataTable 上的 LINQ 查询
C# 将带有 Case 语句的 SQL 查询转换为 LINQ
帮助将 SQL 语句转换为 LINQ Lambda(在 group by 和 sum 方面需要帮助)