我的應用程序基於實體框架。我提供用戶通過將查詢保存在另一個表中來查詢特定表。例如,數據庫中的TopQuery表存儲所有在用戶中流行的查詢。 這些查詢是在表「TableData」上執行的使用實體SQL查詢概念模型
對於測試目的,我嘗試了以下方法,它的工作原理。唯一的問題是,它返回所有列,因爲我想使用用戶在其查詢中提到的列。
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」 to'TestEntities.TableData'type指定的強制轉換無效。
我也嘗試過,沒有任何運氣。
"SELECT it.col1, it.col2 FROM TableData WHERE it.col1 = 'test'"
在這種情況下該怎麼辦?
問候,