LINQ to Entities Query可以用多种方式编写。我想知道何时使用IQueryable
以及在以下上下文中使用IQueryable
var之间的区别。以下查询来自MSDN网站。
第一种情况:
IQueryable contactsQuery =来自c中的context.Contacts 选择c.LastName;
IQueryable<string> distinctNames = contactsQuery.Distinct();
foreach (string name in distinctNames)
{
Console.WriteLine("Name: {0}", name);
}
第二种情况:
int orderCost = 2500;
// Define a LINQ query that returns only online orders
// more than the specified amount.
var onlineOrders =
from order in context.SalesOrderHeaders
where order.OnlineOrderFlag == true &&
order.TotalDue > orderCost
select order;
// Print order information.
foreach (var onlineOrder in onlineOrders)
{
Console.WriteLine("Order ID: {0} Order date: "
+ "{1:d} Order number: {2}",
onlineOrder.SalesOrderID,
onlineOrder.OrderDate,
onlineOrder.SalesOrderNumber);
}
在一种情况下,他们使用IQueryable
,而在其他情况下,他们使用var关键字实现类似的东西。我想知道差异以及何时使用两者。我是Entity Framework的新手。任何帮助表示赞赏。