AsQueryable()的目的是为了让您可以将IEnumerable传递给可能需要IQueryable的方法,还是有一个将IEnumerable表示为IQueryable的有用理由?例如,它是否应该用于这样的情况:IEnumerableorders=orderRepo.GetAll();//Idon'twanttocreateanothermethodthatworksonIEnumerable,//soIconvertithere.CountOrders(orders.AsQueryable());publicstaticintCountOrders(IQueryableorder
AsQueryable()的目的是为了让您可以将IEnumerable传递给可能需要IQueryable的方法,还是有一个将IEnumerable表示为IQueryable的有用理由?例如,它是否应该用于这样的情况:IEnumerableorders=orderRepo.GetAll();//Idon'twanttocreateanothermethodthatworksonIEnumerable,//soIconvertithere.CountOrders(orders.AsQueryable());publicstaticintCountOrders(IQueryableorder
IQueryable在LINQ上下文中有什么用?是否用于开发扩展方法或任何其他目的? 最佳答案 MarcGravell'sanswer非常完整,但我想我也会从用户的角度添加一些内容......从用户的角度来看,主要区别在于,当您使用IQueryable时(使用正确支持事物的提供者),您可以节省大量资源。例如,如果您在使用许多ORM系统处理远程数据库,您可以选择以两种方式从表中获取数据,一种返回IEnumerable,和一个返回IQueryable的.例如,假设您有一个Products表,并且您想要获取所有成本超过25美元的产品。如果
IQueryable在LINQ上下文中有什么用?是否用于开发扩展方法或任何其他目的? 最佳答案 MarcGravell'sanswer非常完整,但我想我也会从用户的角度添加一些内容......从用户的角度来看,主要区别在于,当您使用IQueryable时(使用正确支持事物的提供者),您可以节省大量资源。例如,如果您在使用许多ORM系统处理远程数据库,您可以选择以两种方式从表中获取数据,一种返回IEnumerable,和一个返回IQueryable的.例如,假设您有一个Products表,并且您想要获取所有成本超过25美元的产品。如果
返回IQueryable有什么区别?与IEnumerable,什么时候应该优先选择一个?IQueryablecusts=fromcindb.Customerswherec.City==""selectc;IEnumerablecusts=fromcindb.Customerswherec.City==""selectc;两者都会被延迟执行吗?什么时候应该优先执行一个? 最佳答案 是的,两者都会给你deferredexecution.区别在于IQueryable是允许LINQ-to-SQL(实际上是LINQ.-to-anything)
返回IQueryable有什么区别?与IEnumerable,什么时候应该优先选择一个?IQueryablecusts=fromcindb.Customerswherec.City==""selectc;IEnumerablecusts=fromcindb.Customerswherec.City==""selectc;两者都会被延迟执行吗?什么时候应该优先执行一个? 最佳答案 是的,两者都会给你deferredexecution.区别在于IQueryable是允许LINQ-to-SQL(实际上是LINQ.-to-anything)
在ASP.NETWebAPI2中,以下有什么区别?publicasyncTask>GetMyItems(){//...code...,varmyItems=await...returnmyItems;}和publicasyncTask>GetMyItems(){//...code...,varmyItems=await...returnmyItems;}和publicasyncTaskGetMyItems(){//...code...,varmyItems=await...returnOk(myItems);}我应该返回IHttpActionResult或IEnumerable/IQu
我正在使用foreach/IQueryable和LINQ-to-SQL遍历一个较小的(~10GB)表。看起来像这样:using(varconn=newDbEntities(){CommandTimeout=600*100}){vardtable=conn.DailyResults.Where(dr=>dr.DailyTransactionTypeID==1);foreach(vardailyResultindtable){//Mathhere,resultsstoredin-memory,butthistableisverysmall.//Attheveryleastcomparedt
在这种情况下,我尝试使用LINQtoXML和LINQtoSQL执行从XML文件到数据库的数据导入。这是我的LINQ数据模型:publicstructPage{publicstringName;publiccharStatus;publicEntitySetPageContents;}publicstructPageContent{publicstringContent;publicstringUsername;publicDateTimeDateTime;}基本上我想做的是编写一个查询,该查询将为我提供一个数据结构,我可以将其提交到我的LINQ数据上下文。IEnumerablepage
想象一个类,比方说它可以与IList一起使用的分页。或IQueryable.该类将有一个intTotalItems属性,这将(不足为奇)获取/设置可查询或可枚举参数的计数。如果我使用IEnumerable作为参数,//simplifiedpublicPagination(IEnumerablequery){TotalItems=query.Count();}Count()方法将是(如果我没记错的话)Enumerable.Count().所以即使查询是IQueryable(继承自IEnumerable),它将被枚举(这显然不是“数据库查询”所期望的)。那么有没有办法使用Queryable