Получить все имена столбцов в выбранной таблице при условии, что имена классов передаются в виде строки с использованием Entity Framework 4.0 - PullRequest
0 голосов
/ 08 ноября 2011

Я хочу получить имя всех столбцов в выбранной базе данных при условии, что имена таблиц, столбец которых должен быть выбран, находятся в строковом массиве и могут быть изменены на лету.

IУ меня есть код, в котором я могу получить имя всего столбца конкретной таблицы:

 var properties = from p in typeof(EntityAttribute).GetProperties()
                                                    where (from a in p.GetCustomAttributes(false)
                                                           where a is EdmScalarPropertyAttribute
                                                           select true).FirstOrDefault()
                                                    select new 
                                                    {
                                                        FieldName = p.Name,
                                                        FieldType = p.PropertyType,
                                                        FieldPK = p.GetCustomAttributes(false).Where(a => a is EdmScalarPropertyAttribute && ((EdmScalarPropertyAttribute)a).EntityKeyProperty).Count() > 0
                                                    };

EntityAttribute - это имя столбца.

Проблема заключается в том, чточто это имя класса EntityAttribute является классом.я хочу передать это имя класса из строкового массива.

Пример: у меня есть строковый массив с именем, скажем, трех таблиц:

Теперь я хочу повторить код, приведенный вышепередавая Имя класса , которое находится в строке

Как мне передать его?

1 Ответ

2 голосов
/ 08 ноября 2011

Вы можете использовать GetType

Type type = Type.GetType("YourApplication.Namespace.EntityAttribute");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...