C# 将SQL语句转换为LINQ VS2010

C# 将SQL语句转换为LINQ VS2010,c#,sql-server-2008,visual-studio-2010,linqer,C#,Sql Server 2008,Visual Studio 2010,Linqer,如果您能帮助我将以下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.

如果您能帮助我将以下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.

提前感谢。

我认为除了使用
跳过…获取
之外,LINQ中没有任何与
行号()对应的功能:

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);

谢谢,我发现这个错误:找不到“加入”。当前上下文中不存在名称“vw_MasterView”(vw_MasterView)(我希望您已经有一个集合(对象/数据上下文中的集合或对象集合)与SQL视图相匹配
vw_MasterView
)。该工具将如何为您创建此对象?我使用Linqer进行测试,它与数据上下文相连。可能您需要在两个集合(
Visit
vw\u MaterView
)前面加上上下文变量名。类似于
dc.Visit
dc.vw_MasterView
。对不起,我没有Linqer要测试。您没有提到您使用的是哪种ORM,但是如果您使用的是实体框架,您可以继续使用SQL with ExecuteStoreQuery-