私はExceptメソッドを使用しようとしました。私はこのメソッドがより強力で、WHERE句よりも洗練されたSQLを生成するとは思ったが、そうではなかった。同じSQLを生成します。IQueryable .WhereとIQueryable.Exceptの違いは何ですか?
なぜ、どのように/例外使用法を使用するのですか?
EDIT:
// Get customers except those which ID are in the LostCustomers table
TblCustomers.Except(TblCustomers.Where(tj => LostCustomers.Select(lj => lj.CustomerId).Contains(tj.CustomerID))).Select(j => new
{
CustomerId = j.CustomerID,
CustomerRef = j.CustomerRef,
CustomerName = j.Name
})
// Get customers except those which ID are in the LostCustomers table
TblCustomers.Where(tj => !LostCustomers.Select(lj => lj.CustomerId).Contains(tj.CustomerID)).Select(j => new
{
CustomerId = j.CustomerID,
CustomerRef = j.CustomerRef,
CustomerName = j.Name
})
Thxを
2つの方法はまったく異なります。あなたは特定の条件で 'どこで'を話していますか? – dasblinkenlight
それぞれを使って同じSQLを得る方法の例を示すことができます。 – juharr