У меня такой код в базовом классе, который известен тип его производного класса. Я хотел бы знать, можно ли применить IQueryable<DerivedType>
.Как получить динамический тип IQueryable
Я хотел бы знать, могу ли я отключить XXX
для типа класса, известного моей переменной EntityType
. Как это могло быть сделано с результатом выбора правильной таблицы сущностей из dbEntities
BaseClass.cs
protected abstract Type EntityType {get;}
public virtual DataSourceResult populate([DataSourceRequest]DataSourceRequest request)
{
using (var dbEntities = new dbEntities())
{
IQueryable<XXX> entityResult = dbEntities.XXX;
DataSourceResult result = entityResult.ToDataSourceResult(request);
return result;
}
}
Пример: Я хочу, чтобы получить IQueryAble<>
типа Type EntityType
, а также должен выбрать этот тип от dbEntities
. Так что скажите, что у меня есть таблица в dbEntities
под названием giraffe
, которая унаследована от animal
. Тогда текущий код выше относится к базовому классу animal
. EntityTpe
знает, что EntityType.Name
равен жирафу. Так что я бы с XXX вывел в эквиваленте IQueryable<giraffe> entityResult = dbEntities.giraffe
Да, вы можете заменить ХХХХ для любого класса, реализующего XXXX, если это ваш вопрос –
Вид, я хочу, чтобы получить ' IQueryAble <> 'типа' Type EntityType', а также выбрать этот тип из 'dbEntities'. Так сказать, у меня есть таблица в 'dbEntities', называемая' giraffe', которая унаследована от 'animal'. Затем текущий код принадлежит базовому классу «animal». 'EntityTpe' знает, что' EntityType.Name' равно жирафу. Так что я бы с XXX вывел в эквиваленте значение 'IQueryable entityResult = dbEntities.giraffe' –
lzc
Да, вы можете это сделать, сущность по-прежнему является классом POCO .NET –