列出数据需要很长时间

时间:2019-07-07 14:22:27

标签: c# entity-framework

使用以下方法映射表后,我试图按顺序列出数据。 但是,在排序过程中解密数据花费的时间太长。如何尽快走上逻辑道路 我可以列出清单。列出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();

0 个答案:

没有答案