首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Linq :查询联接和等于(变量)不起作用

Linq :查询联接和等于(变量)不起作用
EN

Stack Overflow用户
提问于 2018-06-01 03:16:55
回答 1查看 206关注 0票数 0
代码语言:javascript
复制
Dim ID_Section as Int32 = 10

    Dim Query = From Book1 In db.Book1
    Group Join Section In db.Section On CInt(Book1.ID_Section) Equals Section.ID_section _
     And Section.ID_section Equals (ID_Section)  Into Section_join = Group
    From Section In Section_join.DefaultIfEmpty()
    Select 
      Book1.ID_Book,
      Book1.Name_Book,
      ID_section = Section.ID_section,
      Name_Section = Section.Name_Section

错误出现在变量id_Section中,因为Linq不接受来自外部的值​​,这在我看来是当然的。

这里有错误:

代码语言:javascript
复制
And Section.ID_section Equals (ID_Section)  

在SQL查询中使用位置:

代码语言:javascript
复制
Declare @ID_Section int
SELECT        Book.ID_Book, Book.Name_Book, Section.ID_section, Section.Name_Section
FROM            Book LEFT OUTER JOIN
                         Section ON Book.ID_Section = Section.ID_section and Section.ID_section = @ID_Section
where Book.ID_Book =1
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-01 05:19:48

在带有lambda语法的db.Section上使用Where

代码语言:javascript
复制
Dim Query = From Book1 In db.Book1
            Group Join Section In db.Section.Where(Function(s) s.ID_section = ID_Section)
            On CInt(Book1.ID_Section) Equals Section.ID_section _
            Into Section_join = Group
            From Section In Section_join.DefaultIfEmpty()
            Select
                  Book1.ID_Book,
                  Book1.Name_Book,
                  ID_section = Section.ID_section,
                  Name_Section = Section.Name_Section

或者,您可以将Where应用于Join结果:

代码语言:javascript
复制
Dim Query = From Book1 In db.Book1
            Group Join Section In db.Section
            On CInt(Book1.ID_Section) Equals Section.ID_section _
            Into Section_join = Group
            From Section In Section_join.Where(Function(s) s.ID_section = ID_Section).DefaultIfEmpty()
            Select
                  Book1.ID_Book,
                  Book1.Name_Book,
                  ID_section = Section.ID_section,
                  Name_Section = Section.Name_Section
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50631322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档