Linq To Entities - 如何创建表名为参数的查询

时间:2012-03-14 12:25:01

标签: entity-framework dynamic-sql dynamic-linq

动态查询不够动态。我见过像this这样的解决方案,但我仍然需要指出使用哪个表作为基础:

var query = db.Customers.Where("...").OrderBy("...").Select("...");

我想创建一个简单的查询工具,用户可以使用下拉列表从可用表中进行选择。结果,我想先显示几条记录。因此,我也需要更改表格!也就是说,我需要这样的东西:

string selectedTable = "Customers";
var [tableName] = SomeTypecastingOperations(selectedTable);
var query = db.[tableName].Where("...").OrderBy("...").Select("...");

EF 动态是否足以处理此问题?

1 个答案:

答案 0 :(得分:0)

Linq-to-entities不支持这一点。您可以使用Entity SQL或一些丑陋的代码来实现这一点,这些代码将为您要查询的每个集合都有条件逻辑(比如表名称的大switch)。