Entity framework 4 是否可以按实体的字符串名称加载实体?

Entity framework 4 是否可以按实体的字符串名称加载实体?,entity-framework-4,Entity Framework 4,我有下面的示例代码,它从DB中的一个表中获取一个值列表,并将它们绑定到一个复选框列表 var db = new DBContext(); db.Entity1.ToList().ForEach( x => CheckBoxList1.Items.Add(new ListItem(x.Value, x.ID)); 我有大约10个这样的清单,我不想重复代码。我试图从中提取一个方法,并将其用于所有复选框。是否可以通过字符串名称加载实体?差不多- db.加载(“实体1”).ToList(

我有下面的示例代码,它从DB中的一个表中获取一个值列表,并将它们绑定到一个复选框列表

var db = new DBContext();    
db.Entity1.ToList().ForEach(
x => CheckBoxList1.Items.Add(new ListItem(x.Value, x.ID));
我有大约10个这样的清单,我不想重复代码。我试图从中提取一个方法,并将其用于所有复选框。是否可以通过字符串名称加载实体?差不多-

db.加载(“实体1”).ToList().ForEach

因此,我可以传入实体名称和复选框列表,在方法中执行foreach循环并绑定项,如下所示-

void BindValues(string entityName, CheckBoxList checkBoxList)
{
    db.Load("Entity1").ToList().ForEach(
    x => checkBoxList.Items.Add(new ListItem(x.Value, x.ID)));
}

谢谢。

在代码优先中,DbContext公开了一个.Set()或.Set(Type)方法来获取表的句柄。因此,假设straight EF公开相同的内容,并且您很乐意通过列表的实体类型而不是字符串来访问列表,这对您来说是可行的