Можно ли загружать объекты по строковому имени объекта? - PullRequest
1 голос
/ 11 апреля 2011

У меня есть следующий пример кода, который получает список значений из таблицы в БД и связывает их со списком флажков.

var db = new DBContext();    
db.Entity1.ToList().ForEach(
x => CheckBoxList1.Items.Add(new ListItem(x.Value, x.ID));

У меня есть около 10 таких флажков, и я не хочу повторять код. Я пытаюсь извлечь из него метод и использовать его для всех флажков. Можно ли загрузить объект по имени строки? Что-то вроде -

дБ. Загрузка ("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 Ответ

0 голосов
/ 11 апреля 2011

В Code First DbContext предоставляет метод .Set () или .Set (Type) для получения дескриптора таблицы. Поэтому, если предположить, что прямой EF предоставляет то же самое, и вы рады получить доступ к своим спискам по типу сущности, а не по строке, это будет работать для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...