我的应用程序基于实体框架。我提供用户通过将查询保存在另一个表中来查询特定表。例如,数据库中的 TopQuery 表存储了所有受用户欢迎的查询。这些查询在表“TableData”上执行
出于测试目的,我尝试了以下方法并且它有效。唯一的问题是它返回所有列,因为我想使用用户在查询中提到的列。
string queryString =
@"SELECT VALUE table FROM TestEntities.TableData AS table where table.col1 = 'test'";
ObjectQuery<TableData> productQuery2 =
new ObjectQuery<TableData>(queryString, context);
我的问题是,如果用户像这样在数据库中存储查询,它就不起作用。
SELECT table.col1, table.col2, table.col3 FROM TestEntities.TableData AS table where table.col1 = "test"
我得到了异常:从物化 System.Data.Objects.MaterializedDataRecord' 到'TestEntities.TableData' 类型的指定转换无效。
我也试过这个没有任何运气。
"SELECT it.col1, it.col2 FROM TableData WHERE it.col1 = 'test'"
在这种情况下我该怎么办?
问候,