Создание родового свойства посредством отраженияC#

Место общения программистов C#
Ответить
Anonymous
 Создание родового свойства посредством отражения

Сообщение Anonymous »

Я пытаюсь получить свойство DbContext DbSet по его имени, но не знаю, как обрабатывать общий параметр.

Код: Выделить всё

DataSource.Load(IQueryable source)Метод 
поступает из внешней библиотеки DLL, и я не могу его изменить.
Зная имя свойства моей опоры DbSet (из класса Entity Framework DbContext), я хочу использовать это значение свойства в качестве параметра для DataSource.Load:

Код: Выделить всё

 public class DataManager
{
private MyDbContext _dbContext;

public DataManager(MyDbContext dbContext)
{
_dbContext = dbContext;
}

public object Load(string propName)
{
var source = _dbContext.GetType().GetProperty(entityName).GetValue(_dbContext, null);

return DataSourceLoader.Load(source);
}

// DataSourceLoader.Load signature:
// DataSourceLoader.Load(System.Linq.IQueryable)
}
Обновление
Чтобы быть понятнее: DataSourceLoader.Load загружает данные из набора сущностей; Меня не волнует тип возвращаемого значения, поскольку он будет сериализован и отправлен клиентскому плагину.
Клиентский плагин запрашивает данные с помощью ajax-вызова, используя имя объектаentitySet в качестве параметра. Я не хочу иметь отдельный метод (или длинный оператор переключения) для каждого имеющегося у меня набора сущностей и статически вызывать метод DataSource.Load.
Я хотел бы разрешить набор сущностей для запроса во время выполнения

Подробнее здесь: https://stackoverflow.com/questions/446 ... reflection
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»