F#与IQueryable一起加入

时间:2013-04-04 22:35:55

标签: f# type-providers f#-3.0

我正在尝试使用F#查询表达式从数据库中检索数据。 对于以下代码:

1   let q = query{
2       for i in dataContext.Incident do
3       select i
4   }
5   
6   let q2 = query{
7       for i in dataContext.Incident do
8       select i
9   }
10  
11  let q3 = query{
12      for i in q do
13      join i2 in q2
14      on(i.IncidentId = i2.IncidentId)
15      select i
17  }

我在第13行收到错误的连接语法错误。

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

F#是一种对空格敏感的语言,这只是一个缩进问题;以下任何一种都应该有效:

let q3 = query {
    for i in q do
    join i2 in q2 on (i.IncidentId = i2.IncidentId)
    select i
}

let q3' = query {
    for i in q do
    join i2 in q2 on
        (i.IncidentId = i2.IncidentId)
    select i
}