public TModel Get <TEntity, TModel>(int id) where TEntity : class, IEntity { if (MappingsList.Exist <TEntity, TModel>()) { var query = _repository.GetQueryById <TEntity>(id); return(query.AsQuery <TEntity, TModel>().FirstOrDefault()); } var entity = _repository.Get <TEntity>(id); return(entity.To <TModel>()); }
public TModel Get <TEntity, TModel>(Expression <Func <TEntity, bool> > filterExpression = null) where TEntity : class { if (MappingsList.Exist <TEntity, TModel>()) { var query = _repository.GetList(filterExpression); return(query.AsQuery <TEntity, TModel>().FirstOrDefault()); } var entity = _repository.Get(filterExpression); return(entity.To <TModel>()); }
public static List <TModel> To <TEntity, TModel>(this IQueryable <TEntity> input) where TEntity : class { if (typeof(TEntity) == typeof(TModel)) { return(input.ToList().Cast <TModel>().ToList()); } if (MappingsList.Exist <TEntity, TModel>()) { return(input.AsQuery <TEntity, TModel>().ToList()); } return(input.ToList().To <TModel>()); }