Код: Выделить всё
DataSource.Load(IQueryable source)Метод Зная имя свойства моей опоры 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
Мобильная версия