2013-04-04 5 views
2

Я экспериментирую с использованием выражения запроса F # для извлечения данных из базы данных. Для следующего кода:F # join with IQueryable

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.

Есть ли способ решить эту проблему?

+0

Попробуйте переместить содержимое строки 14 в строку 13, чтобы обе были на одной линии. – ildjarn

+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 
}