使用以下方法映射表后,我试图按顺序列出数据。 但是,在排序过程中解密数据花费的时间太长。如何尽快走上逻辑道路 我可以列出清单。列出20个条目需要20多个分钟。感谢您的帮助和建议。
PbsDbContext Ctx = new PbsDbContext();
var tempData = Ctx.Payroll
.Join(Ctx.Users, pyr => pyr.UserId, usr => usr.UserId, (pyr, usr) => new { pyr, usr })
.Join(Ctx.UserRegister, usr => usr.usr.UserId, urg => urg.UserId, (usr, urg) => new { usr, urg }).AsEnumerable()
.OrderBy(s => s.usr.pyr.SalaryMonth)
.ThenBy(s => s.usr.pyr.SalaryYear)
.ThenBy(s => s.usr.usr.UserName.Decrypt())
.ThenBy(s => s.usr.usr.UserSurname.Decrypt())
.Select(s => new PocoModelPayrollList
{
PayrollId = s.usr.pyr.PayrollId,
PersonelId = s.usr.pyr.UserId,
IdentNo = s.usr.usr.IdentNo.Decrypt(),
PersonelAd = s.usr.usr.UserName.Decrypt(),
PersonelSoyad = s.usr.usr.UserSurname.Decrypt(),
SalaryMonth = s.usr.pyr.SalaryMonth,
SalaryYear = s.usr.pyr.SalaryYear,
WorkRegNo = s.urg.WorkRegNo.Decrypt(),
NetPaid = s.usr.pyr.NetPaid2
})
.Take(10);
foreach (var item in tempData)
{
Console.WriteLine($"{item.PayrollId},{item.PersonelId},{item.IdentNo},{item.PersonelAd},{item.PersonelSoyad},{item.SalaryMonth},{item.SalaryYear},{item.WorkRegNo},{item.NetPaid}");
}
Console.ReadLine();