我有一個頁面,用戶可以輸入一個SQL查詢。此查詢可以針對我數據庫中的任何表。我需要對相應的表執行此查詢並在我的視圖中顯示結果。這個怎麼做?如何在實體框架中編寫動態SQL查詢?
例如:用戶可以輸入Select * from ABC
或select max(price) from items
。
我想:
var results = DbContext.Database.SqlQuery<string>(query).ToList();
但是,這將引發一個錯誤:
The data reader has more than one field. Multiple fields are not valid for EDM primitive or enumeration types.
無論結果如何,我應該能夠把它傳遞給視圖,並顯示它。
請幫忙。
VAR博客= context.YourModel.SqlQuery(「SELECT * FROM DBO。 YourTable「)ToList(); – MstfAsan
我無法指定'myModel',因爲我不知道用戶可能輸入什麼作爲查詢。所以無論是我需要執行的模型。 – Shafeek
讓用戶直接對數據庫執行任何SQL可能是一個非常糟糕的主意。 – Wurd