#entity-framework-4
#entity-framework-4
Вопрос:
У меня есть следующий пример кода, который получает список значений из таблицы в БД и привязывает их к списку флажков.
var db = new DBContext();
db.Entity1.ToList().ForEach(
x => CheckBoxList1.Items.Add(new ListItem(x.Value, x.ID));
У меня есть около 10 подобных списков флажков, и я не хочу повторять код. Я пытаюсь извлечь из него метод и использовать его для всех флажков. Возможно ли загрузить объект по строковому имени? Что-то вроде —
db.Load(«Entity1»).ToList().ForEach…
Таким образом, я могу передать имя объекта и список флажков и выполнить цикл foreach в методе и связать элементы, вот так —
void BindValues(string entityName, CheckBoxList checkBoxList)
{
db.Load("Entity1").ToList().ForEach(
x => checkBoxList.Items.Add(new ListItem(x.Value, x.ID)));
}
Спасибо.
Ответ №1:
Сначала в коде DbContext предоставляет метод .Set() или .Set(Type) для получения дескриптора таблицы. Итак, предполагая, что прямой EF предоставляет то же самое, и вы с удовольствием получаете доступ к своим спискам по их типу объекта, а не по строке, это сработало бы для вас.