【发布时间】:2018-10-19 03:36:53
【问题描述】:
我正在研究数据仓库应用程序,我们有 4 个架构相同的表。这些表之间的唯一区别只是表名。
表格示例:
- ps_Contractor
- ps_Employee
- ps_Union
- ps_NonUnion
架构
- 身份证
- 每小时
- 好处
- 总计
现在我需要根据这些表格生成 4 个报告。我不想编写 4 个单独的 LINQ 查询,而是编写一个可以动态传递表名的查询。
问题如何在以下 LINQ 查询中动态传递表名?
var data = ( from q in _dbcontext.ps_Contractor
join _l in _dbcontext.log on q.id equals l.tablelogid
where q.hourly = 8
select new{
hourly=q.hourly,
benefit=q.benefit,
total=q.total,
log = l.message
}.ToList();
我查看了堆栈溢出提出的所有类似问题。我不想使用 ExecuteStoreQuery。
我有什么选择?
【问题讨论】:
-
在讨论 X 和 Y 之前,我相信在未来创建四个单独的 LINQ 查询时的可读性/可维护性有很多优点。这四种方法可能比通过创建一个通用函数来节省代码重复更有价值。
-
见stackoverflow.com/questions/3428069/…我真的不会因为只有4个重复而达到这样的程度,现在如果我们更像是说40个重复,那么我的观点可能会改变。
-
也许你可以按照他们在这里的建议stackoverflow.com/questions/12455389/…
标签: c# linq entity-framework