我需要从不同级别的报告部门表中进行选择,即Dept1,Dept2,Dept3等。 [1]取决于用户选择的报告级别。如何根据给定的字符串参数(即表名?
)动态表达要从中选择的“表”[1]简单点(让我们谈谈)对于任何可以帮助我摆脱这种情况的人来说,比暴露的问题更深刻。
突发新闻:看起来我正在使用'switch / case'结构。我厌倦了对愚蠢的非解决方案的研究,而我发现的第一个聪明的方法并不容易实现(没有世代修道院,僻静的奉献精神)。客户的需求来自我的。
答案 0 :(得分:1)
我不相信EF有相当于Linq-> SQL的GetTable,虽然我确实找到了this post关于GetEntitySet可能的未来实现以及你可以使用的简单实现我会检查它进行。
答案 1 :(得分:0)
您是否有能力更改架构?我怀疑你是在问这个问题,因为你没有,但如果你这样做,可能会更容易有一个Department
表定义一个部门名称及其ID。然后,您可以拥有一个包含要搜索的实体的表和一个指向部门的外键。
因此,如果您尝试查询的实体是员工,那么您的表格可能如下所示:
Department
------------
ID int
Name text
Employee
--------------------
ID int
Name text
DepartmentID int
然后您的查询可能如下所示:
var Employees = from emp in db.Employee.Include("Department")
where emp.Department.Name == "Sales"
select emp;