首页 > 解决方案 > 删除对象列表中的前导零,然后加入

问题描述

我有两个对象:请求和帐户。Requests 有一个带有借方 ID 的属性 FkDebitor。accts 也有一个与 FkDebitor 类似的 AccountCode,但 ID 用前导零填充。我需要删除前导零才能将这两个连接在一起:

List<Requests> requests = context.Requests.ToList();
List<AutolineAccts> accts = AlContext.AutolineAccts.ToList();

 IEnumerable < dynamic > result = (from request in requests
                       join account in accts
                            on request.FkDebitor.ToString() equals account.AccountCode.TrimStart(new Char[] { '0' })
                        select new 
                        {
                            ID = request.PkRequest.ToString(),
                            Location = request.FkLocation,
                            RequestDate = request.RequestDate.Value,
                            Requestor = request.FkRequestor,
                            DebitorNr = request.FkDebitor.ToString(),
                            NewDebit = request.Debit.ToString(),
                            ApprovalStatus = request.ApprovalStatus.ToString(),
                            RecommendationStatus = request.RecommendationStatus.ToString(),
                            DebitorName = account.CustomerSname,
                            Limit = account.CreditLimit
                        }).ToList();

我试图在连接语句中修剪 AccountCode,但我收到了一个空结果集,尽管两个集合中都有应该匹配的数字(例如,FkDebitor 中的 5371 和 AccountCode 中的 005371)。

知道如何让这个东西工作吗?在触发 sql 部分之前,我已经尝试修剪列表中的前导零,但我的代码对 accts.AccountCode 属性没有任何作用:

for (int i = 0; i < accts.Count(); i++)
            {
                accts.ElementAt(i).AccountCode = accts.ElementAt(i).AccountCode.TrimStart('0');
            }

标签: c#asp.net-core

解决方案


推荐阅读