Except 메서드를 사용하려고했습니다. 이 방법이 더 강력하고 WHERE 절보다 깨끗한 SQL을 생성한다고 생각했지만 그렇지 않습니다. 동일한 SQL을 생성합니다.IQueryable과 IQueryable의 차이점은 무엇입니까?
왜 예외 메서드를 사용합니까?
편집 :
// 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
})
들으
두 가지 방법은 완전히 다릅니다. 특정 조건에서'Where'에 대해 이야기하고 있습니까? – dasblinkenlight
각각을 사용하여 동일한 SQL을 얻는 방법에 대한 예제를 보여줄 수 있습니까? – juharr