左边加入表与一对多的关系

时间:2010-07-28 14:53:22

标签: linq-to-sql

我为这里的朦胧提前道歉,但我发现这个问题有点难以解释(虽然我确信这是一个相当常见的问题/解决方案)。我想执行一个查询,选择与另一个表连接的表中的行,其中另一个表是一对多关系中的“多个”。但是我的where子句之一需要检查特定条件的许多部分。这是我用pseduocode填充的部分代码。

var query = 
    from program in db.AcademicPrograms
        where program.ProgramTitle.StartsWith(Keyword.Text) || 
              program.ProgramDeptIDName.DeptName.StartsWith(Keyword.Text) || 
              program.AcademicProgramKeywords.Contains(
                                     <A value that starts with Keyword.Text>)
        select
            new
              {
                 program.ProgramTitle,
                 program.ProgramHomePage,
                 program.ProgramCode,
                 program.ProgramType
              };

1 个答案:

答案 0 :(得分:2)

这应该适合你:

program.AcademicProgramKeywords.Any(apk => apk.Field.StartsWith(Keyword.Text))

实际上,这说: Select AcademicPrograms where any of its AcademicProgramKeywords .Field properties starts with Keyword.Text.

我会留给你解决.Field到正确的财产。