2011-03-31 73 views
1

请原谅我对此的无知。 我有这样的LINQ查询: 昏暗ngBikersDataContext作为新CarBikeWalkDataContext需要使用动态LINQ库的LINQ查询帮助

bikersList = (From c In ngBikersDataContext.Reg_Bikers _ 
         Order By c.L_Name _ 
         Select New Bikers() With { _ 
         .BikerID = c.BikerID, _ 
         .F_Name = c.F_Name, _ 
         .M_Name = c.M_Name, _ 
         .L_Name = c.L_Name _ 
         }).ToList() 

正如你可以看到它是一个列表(OF)。这里是bikersList的定义:

Dim bikersList As List(Of Bikers) = TryCast(HttpContext.Current.Session("Bikers"), List(Of Bikers)) 

我需要能够排序,所以要使用动态LINQ库。所以,我把它添加到我的项目进口System.Linq.Dynamic,并试图使用此代码:

bikersList = (ngBikersDataContext.Reg_Bikers _ 
        .OrderBy(SortExpression) _ 
        .Select New Bikers() With { _ 
         .BikerID = c.BikerID, _ 
         .F_Name = c.F_Name, _ 
         .M_Name = c.M_Name, _ 
         .L_Name = c.L_Name _ 
         }).ToList() 

但现在我得到下蓝scwiggly行:

    ngBikersDataContext.Reg_Bikers _ 
        .OrderBy(SortExpression) _ 
        .Select 

出现错误“超载解决方法失败,因为没有可访问的“选择”接受这个数量的参数。“ 在“新”上我得到一个错误“')”预计“。

有人请告诉我我做错了什么。 谢谢

回答

0

您在'查询语法'中混合使用'扩展方法'语法。

bikersList = (ngBikersDataContext.Reg_Bikers _ 
       .OrderBy(SortExpression) _ 
       .Select(Function(c) New Bikers() With { _ 
        .BikerID = c.BikerID, _ 
        .F_Name = c.F_Name, _ 
        .M_Name = c.M_Name, _ 
        .L_Name = c.L_Name _ 
        })).ToList() 

或者

bikersList = (From c in ngBikersDataContext.Reg_Bikers.OrderBy(SortExpression) _ 
       Select b = New Bikers() With { _ 
        .BikerID = c.BikerID, _ 
        .F_Name = c.F_Name, _ 
        .M_Name = c.M_Name, _ 
        .L_Name = c.L_Name _ 
        }).ToList() 
+0

谢谢你洙多! – 2011-03-31 21:13:47