我想從列表中找到一個記錄,該列表應該是列表的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 –