Into
The
var em = from e in emp
group e by new{ e.DeptId}
into gEmp
where gEmp.Count() > 1
select new { gEmp.Key.DeptId, salary = gEmp.Sum(t => t.Salary) };
In the above query, after applying
Note:
var em = from e in emp
group e by new { e.Salary, e.Id }
into gEmp
let avgsal = (gEmp.Sum(t => t.Salary) / gEmp.Count())
where gEmp.Key.Salary == avgsal
select new { gEmp.Key.Salary, gEmp.Key.Id };
The above query is used to find out employee(s) having salary more than
The
Into
keyword allows creating a temporary variable to store the results of a group, join, or select clause into a new variable.var em = from e in emp
group e by new{ e.DeptId}
into gEmp
where gEmp.Count() > 1
select new { gEmp.Key.DeptId, salary = gEmp.Sum(t => t.Salary) };
In the above query, after applying
into
on grouping, it creates a IGrouping
type gEmp
variable, which is used to apply the next filter.Note:
Into
is used when you want to perform an operation on grouped data.Let
TheLet
keyword allows storing the results of a query which can be used in a subsequent query; i.e., it creates a new variable and initializes it with the result of the expression you supply.var em = from e in emp
group e by new { e.Salary, e.Id }
into gEmp
let avgsal = (gEmp.Sum(t => t.Salary) / gEmp.Count())
where gEmp.Key.Salary == avgsal
select new { gEmp.Key.Salary, gEmp.Key.Id };
The above query is used to find out employee(s) having salary more than
avgSalary
. The Let
keyword allows to create a new variable avgsal
that is used in further operations.Let vs. Into
Most people find it difficult to decide which one to use when designing a LINQ query.Into
– Hides the previous variable when used in a query, as you see in the above example. Which means its hides the previous range variable and creates a temporary range variable which you can use in further operations.Let
– Doesn’t hide the previous variable and creates a new variable. Which means you create a new variable and you can also use the previous variable, so you can use both in further operations.
No comments:
Post a Comment