C#学习教程:C#使用LINQ选择行的最大ID分享


C#使用LINQ选择行的最大ID

我有一个breadcrumb表,我想返回最近插入的行。 在SQL中它将是一个MAX()函数,但不知道如何在LINQ中执行等效操作。 基本上我想选择具有最高BreadCrumbID WHERE ProjectID = 49

这是我现在的查询,它将选择所有行WHERE ProjectID = 49 。 我想选择具有最高BreadCrumbID的行。

谢谢!

码:

 using (dbPSREntities5 myEntities = new dbPSREntities5()) { var currentStatus = (from tbBreadCrumb in myEntities.tbBreadCrumbs.Where(x => x.ProjectID == 49) select new { Status = tbBreadCrumb.BreadCrumbID, }); } 

试试这个:

 using (dbPSREntities5 myEntities = new dbPSREntities5()) { var currentStatus = (from tbBreadCrumb in myEntities.tbBreadCrumbs.Where(x => x.ProjectID == myEntities.tbBreadCrumbs.Max(b=>b.ProjectId)) select new { Status = tbBreadCrumb.BreadCrumbID, }); } 

请尝试以下查询

 var currentStatus = from x in myEntities.tbBreadCrumbs where x.ProjectID == 49 orderby x.BreadCrumbID desc select x.BreadCrumbID; 

该查询的第一个结果将是最高的BreadCrumbID值,其中ProjectID为49

此查询应该为您提供最高的BreadCrumbId,其中ProjectID = 4

 using (dbPSREntities5 myEntities = new dbPSREntities5()) { var highestId = myEntities.tbBreadCrumbs.Where(x => x.ProjectID == 49) .Max(x => x.BreadCrumbID); } 

您可以使用Max() linq扩展方法

 var crum = myEntities.tbBreadCrumbs.Max(d=>d.breadcrumbId) 

Var highestId = myEntities.breadcrumbs.lastOrDefault(x => x.ProjectId == 49)

试试这个,如果ProjectID = 49中没有BreadCrumb则给出0或者给出最大BreadCrumbID

上述就是C#学习教程:C#使用LINQ选择行的最大ID分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

 using (dbPSREntities5 myEntities = new dbPSREntities5()) { var query=myEntities.tbBreadCrumbs.Where(x => x.ProjectID == 49); var highestId = query.Any() ? query.Max(x => x.BreadCrumbID) : 0; } 

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1031878.html

发表评论

邮箱地址不会被公开。 必填项已用*标注