Я попытался использовать метод Except. Я думал, что этот метод был более мощным и генерирует более чистый SQL, чем предложение WHERE, но нет. Он генерирует тот же sql.В чем разница между IQueryable. Где и 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
Эти два метода совершенно разные. Вы говорите о «Где» с определенным условием? – dasblinkenlight
Можете ли вы показать свои примеры того, как вы получаете идентичный SQL, используя каждый. – juharr