选择dynimc columns.Net Core EF-LINQ
我正在使用.Net Core 2.2&EF创建一个API,我想实现一个返回报告数据的函数,但报告数据取决于角色,例如,我希望管理员查看所有数据,但HR只查看特定数据,经理也查看,等等 作为示例,下面的代码将获得我想要查看的数据选择dynimc columns.Net Core EF-LINQ,linq,asp.net-core,asp.net-core-webapi,Linq,Asp.net Core,Asp.net Core Webapi,我正在使用.Net Core 2.2&EF创建一个API,我想实现一个返回报告数据的函数,但报告数据取决于角色,例如,我希望管理员查看所有数据,但HR只查看特定数据,经理也查看,等等 作为示例,下面的代码将获得我想要查看的数据 var data = await _context.Employees .Where(e => e.CompanyForeignKey == user.CompanyForeignKey)
var data = await _context.Employees
.Where(e => e.CompanyForeignKey == user.CompanyForeignKey)
.Select(e => new
{
e.FullName_FL,
e.FullName_SL,
PositionName_FL = e.Position.Name_FL,
PositionName_SL = e.Position.Name_SL,
DepartmentName_FL = e.Department.Name_FL,
DepartmentName_SL = e.Department.Name_SL,
e.HiringDate,
})
.OrderBy(e => e.HiringDate)
.ToListAsync();
但我也希望管理员看到以下专栏
var data = await _context.Employees
.Where(e => e.CompanyForeignKey == user.CompanyForeignKey)
.Select(e => new
{
e.FullName_FL,
e.FullName_SL,
PositionName_FL = e.Position.Name_FL,
PositionName_SL = e.Position.Name_SL,
DepartmentName_FL = e.Department.Name_FL,
DepartmentName_SL = e.Department.Name_SL,
e.HiringDate,
e.ServicePeriod,
e.ServicePeriodMonths,
e.ServicePeriodYears,
e.BirthDate,
e.ExemptedFromTaxes,
e.PaymentMethod,
BankName_FL = e.Bank.Name_FL,
BankName_SL = e.Bank.Name_SL,
e.BankAccountNumber,
e.ExemptedFromSocialInsurance,
SocialInsuranceOfficeName_FL = e.SocialInsuranceOffice.Name_FL,
SocialInsuranceOfficeName_SL = e.SocialInsuranceOffice.Name_SL,
})
.OrderBy(e => e.HiringDate)
.ToListAsync();
我试图从一个函数中获取不同角色的数据。
所以我的问题是,有没有办法为不同的角色获取自定义列,例如:
var data = await _context.Employees
.Where(e => e.CompanyForeignKey == user.CompanyForeignKey)
.Select(e => Role.customObjectHandler)
.OrderBy(e => e.HiringDate)
.ToListAsync();
提前谢谢这有什么帮助吗?您的数据模型与您从API返回的模型是分开的,还是直接从控制器返回此查询的结果?我直接从控制器返回查询结果这有帮助吗?您的数据模型与您从API返回的模型是分开的,还是您直接从控制器返回此查询的结果?我直接从控制器返回查询结果