How to: Return the Set Difference Between Two Sequences (LINQ to SQL)

Use the Except operator to return the set difference between two sequences.

Example

This example uses Except to return a sequence of all countries in which Customers live but in which no Employees live.

Dim infoQuery = _
    (From cust In db.Customers _
    Select cust.Country) _
    .Except _
        (From emp In db.Employees _
        Select emp.Country)
var infoQuery =
    (from cust in db.Customers
    select cust.Country)
    .Except
        (from emp in db.Employees
        select emp.Country)
;

In LINQ to SQL, the Except operation is well defined only on sets. The semantics for multisets is undefined.

See Also

Reference

Standard Query Operator Translation (LINQ to SQL)

Other Resources

Query Examples (LINQ to SQL)