代码之家  ›  专栏  ›  技术社区  ›  user215675

将SQL转换为LINQ

  •  1
  • user215675  · 技术社区  · 16 年前

    如何翻译

    select *from
       (
         select EmployeeID,FirstName,LastName,Region from Employees where city
         in ('London','Seattle') 
       )
       x
    where x.Region is not null
    

    相当于LINQ。

    我尝试过(但也选择了空值)

    LinqDBDataContext Context = new LinqDBDataContext();
    
       var query = from emps in
    
                      (
                           from empls in Context.Employees
                           where empls.City == "London" || empls.City == "Seattle"
                            && empls.Region != null
                                 select new
                                  {
                                     FirstName = empls.FirstName,
                                     LastName = empls.LastName,
                                     City = empls.City,
                                     Region = empls.Region
                                  }
                       )
                  select emps;
    
    
                GridView1.DataSource = query;
                GridView1.DataBind();
    
    4 回复  |  直到 16 年前
        1
  •  2
  •   Dave Markle    16 年前

    这是你的括号。你在你的城市或声明中找不到他们。

    LinqDBDataContext Context = new LinqDBDataContext();
    
       var query = from emps in
    
                      (
                           from empls in Context.Employees
                           where (empls.City == "London" || empls.City == "Seattle")
                            && empls.Region != null
                                 select new
                                  {
                                     FirstName = empls.FirstName,
                                     LastName = empls.LastName,
                                     City = empls.City,
                                     Region = empls.Region
                                  }
                       )
                  select emps;
    
    
                GridView1.DataSource = query;
                GridView1.DataBind();
    
        2
  •  2
  •   Randy Minder    16 年前

    threadpool,你需要看看一个名为linqer的产品(我和它没有关联)。太棒了。它将SQL查询转换为LINQ。我还没有遇到它无法处理的查询。

        3
  •  2
  •   Adam Gritt    16 年前

    您需要将WHERE子句更改为:

    其中(empls.city==“伦敦”empls.city==“西雅图”)&empls.region!=空

    如果没有帕伦斯,你就可以在伦敦得到空票。

        4
  •  1
  •   cjk    16 年前

    您的SQL可以重新写入为:

    select EmployeeID,FirstName,LastName,Region 
    from Employees 
    where city in ('London','Seattle') 
    and Region is not null