Привет всем, я пытаюсь написать код, который может получить информацию о таблице для таблицы с (string) tableName, но я получаю ошибку, когда пытаюсь поместить значение в словарь. P.S: Я создал модель EF DB.return raw sql as dictionary
public Dictionary<string, List<object>> GetTableInformation(string tableName, FinkonaDatabaseType type)
{
Dictionary<string, List<object>> _returnableDictionary = new Dictionary<string, List<object>>();
PropertyInfo prop = optimumEntities.GetType().GetProperty(tableName);
Type tableType = prop.PropertyType.GenericTypeArguments[0];
var items = optimumEntities.Database.SqlQuery(tableType, "SELECT * FROM " + tableName);
foreach (var item in items)
{
foreach (PropertyInfo info in item.GetType().GetProperties())
{
if (!_returnableDictionary.ContainsKey(info.Name))
{
_returnableDictionary.Add(info.Name, new List<object>());
}
_returnableDictionary[info.Name].Add(info.GetValue(info, null));
// System.Reflection.TargetException, Object does not match target type.
}
}
return _returnableDictionary;
}
Просто уточнить, вы хотите, чтобы выбрать все элементы из конкретной таблицы, но предоставляя только имя таблицы, но получить обратно все записи для это как «объект»? –
@DominicZukiewicz Да, вы правы. :) Но без знания каких-либо типов: S –
Как вы решаете, что такое ключ? Первая колонка ???? –