テーブルの名前とクエリする特定の列の値を受け取る部分的な結果ビューがあります。DBContext API を読んだところ、Set(Type) が CRUD 操作を実行できる DBSet を返す必要があることがわかりました。ユーザーはルックアップする PK を知らないため、PK なしで DBSet を正確にクエリする方法がわかりません。
従来の ADO を使用する方が簡単でしょうか?
編集: DbSet.SQLQuery 関数の使用方法はわかりましたが、結果を保存する手がかりがありません。デバッガーで要素を調べたところ、テーブル内のすべての行が見つかったため、SQLQuery は機能します。
public class SF1DB : DbContext
{
//List of table names that feeds a DropDownList
public DbSet<tablelist> tables { get; set; }
//Data table
public DbSet<dataTable1> dataTable1 { get; set; }
public DbSet<dataTable2> dataTable2 { get; set; }
//...list of other tables
}
public PartialViewResult GetFeatures(String tablelist, String[] countyfp)
{
String type = "MvcApplication1.Models." + tablelist;
Type dbType = Type.GetType(type);
DbSet set = _db.Set(dbType);
String sql = "select * from " + tablelist;
//How do I store the result in a variable?
set.SqlQuery(sql);
return PartialView();
}