ユーザーがSQLクエリを入力できるページがあります。このクエリは、自分のデータベース内の任意のテーブルに対して行うことができます。私は対応するテーブルに対してこのクエリを実行し、結果を私のビューに表示する必要があります。これを行う方法?Entity Frameworkで動的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は(「DBO SELECT * FROM。 YourTable ")。ToList(); – MstfAsan
「myModel」を指定することはできません。ユーザがクエリとして入力できる内容がわからないためです。だからモデルが何であれ、それを実行する必要があります。 – Shafeek
ユーザにdbに対して直接SQLを実行させることは、おそらく非常に悪い考えです。 – Wurd