我有一个部分结果视图,其中包含表的名称和要查询的特定列的值。我阅读了 DBContext API,发现 Set(Type) 应该返回一个 DBSet,您可以对它进行 CRUD 操作。我不知道如何在没有 PK 的情况下准确查询 DBSet,因为用户不知道要查找的 PK。
可能使用 Classic 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();
}