2012-08-19 1 views
2

목록에 항목이 포함되어있는 경우를 검색하지만 항목이없는 경우는 검색하지 않습니다."포함하지 않음"에 대한 F # 쿼리

이 쿼리는 주어진리스트 cdiffnums에서 ContactNum이없는 customer 개체를 찾습니다. 이 없으면이 목록에 ContactNum이있는 고객 만 반환하려면 어떻게해야합니까?

let q = 
    query { 
     for c in dc.Customers do 
     where (query { for n in cdiffnums do contains c.ContactNum }) 
     select c 
    } 

답변

2

내 F #을 녹슨,하지만 당신은 시도 :

let q = 
    query { 
     for c in dc.Customers do 
     where (not (query { for n in cdiffnums do contains c.ContactNum })) 
     select c 
    } 
+0

보정 - F 번호에 부정이 행해진 다'not'를 사용하여 함수 대신'! '연산자 (C# 에서처럼)를 사용한다. '!'연산자는 참조 셀의 값을 가져 오는 데 사용됩니다. 코드를 테스트하지는 않았지만 작동해야한다고 생각합니다. –

+0

@ 토마스 감사합니다. – NPSF3000

1

내가 이런 떨어지게 작동해야한다고 생각 :

open System.Linq 

let cdiffnums = [|1;2;3|] 
let q = 
    query { 
     for c in dc.Customers do 
     where (not (cdiffnums.Contains c.ContactNum)) 
     select c 
    }