这是我的DbContext类实现:
public partial class DXMvcApp : DbContext
{
...
public virtual DbSet<TabMastCc> TabMastCcs { get; set; }
public virtual DbSet<TabMastCo> TabMastCoes { get; set; }
public virtual DbSet<TabMastCoCc> TabMastCoCcs { get; set; }
public virtual DbSet<TabMastH> TabMastHs { get; set; }
public virtual DbSet<TabMastHsCc> TabMastHsCcs { get; set; }
public virtual DbSet<TabMastHsCo> TabMastHsCoes { get; set; }
public virtual DbSet<TabMastHsCoCc> TabMastHsCoCcs { get; set; }
...
}
我有一个字符串变量,表示DbSet的名称。我想根据字符串变量动态查询DbSet。我该怎么办?
答案 0 :(得分:0)
如果您知道类型,可以获得DbSet
(例如,使用context.Set(typeof(TabMastCc))
)。
如果您知道的是数据集的名称而不是类型,那么您可以创建Dictionary
将名称映射到类型,以便您使用context.Set
方法
示例代码:
var dbSets = new Dictionary<string, Type>
{
{ "TabMastCcs", typeof(TabMastCc) }
};
var dbSetName = "TabMastCcs";
var context = new YourContext();
var tabMastCcType = dbSets[dbSetName];
var tabMastCcDbSet = context.Set(tabMastCcType);