我想从列表中找到一个记录,该列表应该是列表的MAX(id)。此记录用于在网格视图中显示。LINQ;如何使用连接获得最大ID的记录?
var cacheProducts = nettingOffAudService.All().TOList();
Product product = productService.FindBy(x => x.ProductName == "NETOFF");
var MasterRenewal = masterRenewalAudService.All().Where(x => x.ProductSeq == product.Id).ToList();
在这里,我想匹配MasterRenewal与cacheProducts的身份证一名栏,所以我试图像下面
var jsonData = new
{
total = totalPages,
page = page,
records = totalRecords,
rows = (
from p in cacheProducts
join MR in MasterRenewal on p.Id equals MR.MstSeq into MRRenewal
from MR in MRRenewal.DefaultIfEmpty()
select new
{
cell = new Object[]
{
p.Id.ToString(),
B.BranchName,
p.AccountNumber,
p.ClientName,
MR==null?"":((enumRecStatusMasterRenewal)MR.RecordStatus).GetDescriptionEnum(),
p.Status.GetStatusString(),
}
}).ToArray()
};
如果MasterRenewal包含具有相同MstSeq多条记录,然后我想搭末生成的记录是MAX(id)。为此,我尝试如下
join MR in MasterRenewal on p.Id equals MR.MstSeq into MRRenewal
from MR in MRRenewal.Max(x=>x.Id).First().DefaultIfEmpty()
但是,这不工作,所以如何做到这一点?请任何人帮忙。
您可以与我们分享一个示例输入和预期输出吗? – Doro
什么是B.BranchName? –
分支是另一个表,所以id与分支表匹配如下===> var Branch = branchService.All()。ToList();在分支上加入B在分支Seq等于B.Id –