将我的代码 SQL 转换为 LINQ



请将我的SQL转换为LINQ。我真的很绝望。它包括多重过滤 (2)。

    SELECT     dbo.EmployeeAccess.EmpNo, 
               dbo.View_SystemAdminMembers.LNameByFName, 
               dbo.View_SystemAdminMembers.GroupName, 
               dbo.View_SystemAdminMembers.Role, 
               dbo.View_SystemAdminMembers.Active, 
               dbo.View_SystemAdminMembers.EmpNo AS Expr4, 
               dbo.View_SystemAdminMembers.RoleID
     FROM      dbo.EmployeeAccess 
     INNER JOIN dbo.View_SystemAdminMembers 
     ON         dbo.EmployeeAccess.GroupID = dbo.View_SystemAdminMembers.GroupID
     WHERE     (dbo.EmployeeAccess.EmpNo = '50')

提前非常感谢你。

请尝试使用以下代码片段。

var result =from e in context.EmployeeAccess 
            join v in context.View_SystemAdminMembers on e.GroupID equals v.GroupID 
            Where e.EmpNo == 50
            select new {  e.EmpNo,v.LNameByFName,v.GroupName,v.Role,v.Active,a.RoleID,v.EmpNo as VEmpNo };

注意:上下文是数据库上下文对象。

如果有任何疑虑,请告诉我。

var results = (from ea in DbContext.EmployeeAccess
               join sam in DbContext.View_SystemAdminMembers on ea.GroupId equals sam.GroupId
               where ea.EmpNo = '50'
               select new {
                 ea.EmpNo,
                 sam.LNameByFName,
                 sam.GroupName,
                 sam.Role,
                 sam.Active,
                 Expr4 = sam.EmpNo,
                 sam.RoleID
               };

你没有提到你的数据库上下文是什么,你必须自己填写。

   var res = (from x in ctx.EmployeeAccess
             join y in ctx.View_SystemAdminMembers on x.GroupId equals y.groupId
             where x.EmpNo = '50'
             select new
             {
                 x.EmpNo,
                 y.LNameByFName,
                 y.GroupName,
                 y.Role,
                 y.Active,
                 Expr4 = y.EmpNo,
                 y.RoleID
             });

注意:加入时不要使用=,而是equals.

相关内容

  • 没有找到相关文章

最新更新