public JsonResult SaveSlideshow(SlideshowModule entity) { var result = new JsonResult(); if (!String.IsNullOrEmpty(entity.SlideShowName)) { using (var context = new DataContext()) { SlideshowModule editedContent = context.SlideshowModules.FirstOrDefault(x => x.SlideshowModuleId == entity.SlideshowModuleId); if (editedContent != null) { editedContent.SlideShowName = entity.SlideShowName; editedContent.AdvanceSpeed = entity.AdvanceSpeed; editedContent.Animation = entity.Animation; editedContent.AnimationSpeed = entity.AnimationSpeed; editedContent.PauseOnHover = entity.PauseOnHover; editedContent.ShowBullets = entity.ShowBullets; editedContent.UseDirectionalNav = entity.UseDirectionalNav; editedContent.UseTimer = entity.UseTimer; // In order to save slides we must first delete prior data, then come back and add them editedContent.Slides.ToList().ForEach(r => context.Set<Slide>().Remove(r)); context.SaveChanges(); // Now add in the new Slides foreach (var slide in entity.Slides) { editedContent.Slides.Add(slide); } context.SaveChanges(); } } } return result; }
/// <summary> /// 根据条件删除实体 /// </summary> /// <param name="where">查询条件</param> /// <returns>删除成功</returns> public virtual int DeleteEntity(Expression <Func <T, bool> > where) { return(DataContext.Set <T>().Where(where).Delete()); }
/// <summary> /// 根据ID删除实体 /// </summary> /// <param name="id">实体id</param> /// <returns>删除成功</returns> public virtual bool DeleteById(int id) { return(DataContext.Set <T>().Where(t => t.Id == id).Delete() > 0); }
/// <summary> /// 获取所有实体 /// </summary> /// <typeparam name="TDto">映射实体</typeparam> /// <returns>还未执行的SQL语句</returns> public virtual IQueryable <TDto> GetAll <TDto>() where TDto : class { return(DataContext.Set <T>().AsNoTracking().ProjectTo <TDto>(MapperConfig)); }
/// <summary> /// 高效分页查询方法(不跟踪实体) /// </summary> /// <typeparam name="TS"></typeparam> /// <param name="pageIndex">第几页</param> /// <param name="pageSize">每页大小</param> /// <param name="where">where Lambda条件表达式</param> /// <param name="orderby">orderby Lambda条件表达式</param> /// <param name="isAsc">升序降序</param> /// <returns>还未执行的SQL语句</returns> public virtual PagedList <T> GetPagesNoTracking <TS>(int pageIndex, int pageSize, Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc = true) { return(isAsc ? DataContext.Set <T>().Where(where).AsNoTracking().OrderBy(orderby).ToPagedList(pageIndex, pageSize) : DataContext.Set <T>().Where(where).AsNoTracking().OrderByDescending(orderby).ToPagedList(pageIndex, pageSize)); }
/// <summary> /// 从二级缓存获取所有实体 /// </summary> /// <returns>还未执行的SQL语句</returns> public Task <List <T> > GetAllFromCacheAsync() { return(DataContext.Set <T>().Cacheable().ToListAsync()); }
/// <summary> /// 获取第一条被AutoMapper映射后的数据(不跟踪实体) /// </summary> /// <typeparam name="TDto">映射实体</typeparam> /// <typeparam name="TS">排序</typeparam> /// <param name="where">查询条件</param> /// <param name="orderby">排序字段</param> /// <param name="isAsc">是否升序</param> /// <returns>实体</returns> public virtual TDto Get <TS, TDto>(Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc = true) where TDto : class { return(isAsc ? DataContext.Set <T>().Where(where).OrderBy(orderby).AsNoTracking().ProjectTo <TDto>(MapperConfig).FirstOrDefault() : DataContext.Set <T>().Where(where).OrderByDescending(orderby).AsNoTracking().ProjectTo <TDto>(MapperConfig).FirstOrDefault()); }
/// <summary> /// 获取第一条被AutoMapper映射后的数据 /// </summary> /// <param name="where">查询条件</param> /// <returns>实体</returns> public Task <TDto> GetFromCacheAsync <TDto>(Expression <Func <T, bool> > @where) where TDto : class { return(DataContext.Set <T>().Where(where).ProjectTo <TDto>(MapperConfig).DeferredFirstOrDefault().ExecuteAsync()); }
/// <summary> /// 基本查询方法,获取一个集合(不跟踪实体) /// </summary> /// <param name="where">查询条件</param> /// <returns>还未执行的SQL语句</returns> public virtual IQueryable <T> GetQueryNoTracking(Expression <Func <T, bool> > where) { return(DataContext.Set <T>().Where(where).AsNoTracking()); }
/// <summary> /// 基本查询方法,获取一个集合,优先从二级缓存读取 /// </summary> /// <param name="where">查询条件</param> /// <returns>还未执行的SQL语句</returns> public Task <List <T> > GetQueryFromCacheAsync(Expression <Func <T, bool> > @where) { return(DataContext.Set <T>().Where(where).Cacheable().ToListAsync()); }
/// <summary> /// 基本查询方法,获取一个集合,优先从二级缓存读取 /// </summary> /// <param name="where">查询条件</param> /// <returns>还未执行的SQL语句</returns> public virtual List <T> GetQueryFromCache(Expression <Func <T, bool> > @where) { return(DataContext.Set <T>().Where(where).Cacheable().ToList()); }
/// <summary> /// 获取所有实体 /// </summary> /// <typeparam name="TS">排序</typeparam> /// <param name="orderby">排序字段</param> /// <param name="isAsc">是否升序</param> /// <returns>还未执行的SQL语句</returns> public virtual IOrderedQueryable <T> GetAll <TS>(Expression <Func <T, TS> > orderby, bool isAsc = true) { return(isAsc ? DataContext.Set <T>().OrderBy(orderby) : DataContext.Set <T>().OrderByDescending(orderby)); }
public async Task <T> GetByIdAsync(int id) { return(await _dbContext.Set <T>().FindAsync(id)); }
//List<Message> dlist = context.Set<Message>().ToList(); //List<Message> deptlist = new List<Message>(); /* * GetAll() * /Contact */ public IHttpActionResult Get() { //return Content(HttpStatusCode.OK, "Welcome"); return(Ok(context.Set <Message>().ToList())); }
public RoleAccessRepository(IDatabaseFactory databaseFactory) : base(databaseFactory) { _dbSet = DataContext.Set <RoleAccess>(); }
/// <summary> /// 获取第一条被AutoMapper映射后的数据 /// </summary> /// <typeparam name="TS">排序</typeparam> /// <typeparam name="TDto">映射实体</typeparam> /// <param name="where">查询条件</param> /// <param name="orderby">排序字段</param> /// <param name="isAsc">是否升序</param> /// <returns>映射实体</returns> public Task <TDto> GetFromCacheAsync <TS, TDto>(Expression <Func <T, bool> > @where, Expression <Func <T, TS> > @orderby, bool isAsc = true) where TDto : class { return(isAsc ? DataContext.Set <T>().Where(where).OrderBy(orderby).ProjectTo <TDto>(MapperConfig).DeferredFirstOrDefault().ExecuteAsync() : DataContext.Set <T>().Where(where).OrderByDescending(orderby).ProjectTo <TDto>(MapperConfig).DeferredFirstOrDefault().ExecuteAsync()); }
/// <summary> /// 基本查询方法,获取一个集合(不跟踪实体) /// </summary> /// <typeparam name="TS">排序字段</typeparam> /// <param name="where">查询条件</param> /// <param name="orderby">排序方式</param> /// <param name="isAsc">是否升序</param> /// <returns>还未执行的SQL语句</returns> public virtual IOrderedQueryable <T> GetQueryNoTracking <TS>(Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc = true) { return(isAsc ? DataContext.Set <T>().Where(where).AsNoTracking().OrderBy(orderby) : DataContext.Set <T>().Where(where).AsNoTracking().OrderByDescending(orderby)); }
/// <summary> /// 从二级缓存获取所有实体 /// </summary> /// <returns>还未执行的SQL语句</returns> public virtual IEnumerable <T> GetAllFromCache() { return(DataContext.Set <T>().Cacheable().AsEnumerable()); }
/// <summary> /// 基本查询方法,获取一个被AutoMapper映射后的集合(不跟踪实体) /// </summary> /// <param name="where">查询条件</param> /// <returns>还未执行的SQL语句</returns> public virtual IQueryable <TDto> GetQuery <TDto>(Expression <Func <T, bool> > where) where TDto : class { return(DataContext.Set <T>().Where(where).AsNoTracking().ProjectTo <TDto>(MapperConfig)); }
/// <summary> /// 高效分页查询方法 /// </summary> /// <typeparam name="TS"></typeparam> /// <param name="pageIndex">第几页</param> /// <param name="pageSize">每页大小</param> /// <param name="where">where Lambda条件表达式</param> /// <param name="orderby">orderby Lambda条件表达式</param> /// <param name="isAsc">升序降序</param> /// <returns>还未执行的SQL语句</returns> public virtual Task <PagedList <T> > GetPagesAsync <TS>(int pageIndex, int pageSize, Expression <Func <T, bool> > @where, Expression <Func <T, TS> > orderby, bool isAsc) { return(isAsc ? DataContext.Set <T>().Where(where).OrderBy(orderby).ToPagedListAsync(pageIndex, pageSize) : DataContext.Set <T>().Where(where).OrderByDescending(orderby).ToPagedListAsync(pageIndex, pageSize)); }
/// <summary> /// 基本查询方法,获取一个被AutoMapper映射后的集合,优先从二级缓存读取 /// </summary> /// <param name="where">查询条件</param> /// <returns>还未执行的SQL语句</returns> public Task <List <TDto> > GetQueryFromCacheAsync <TDto>(Expression <Func <T, bool> > @where) where TDto : class { return(DataContext.Set <T>().Where(where).AsNoTracking().ProjectTo <TDto>(MapperConfig).Cacheable().ToListAsync()); }
/// <summary> /// 高效分页查询方法,优先从二级缓存读取 /// </summary> /// <typeparam name="TS"></typeparam> /// <param name="pageIndex">第几页</param> /// <param name="pageSize">每页大小</param> /// <param name="where">where Lambda条件表达式</param> /// <param name="orderby">orderby Lambda条件表达式</param> /// <param name="isAsc">升序降序</param> /// <returns>还未执行的SQL语句</returns> public virtual Task <PagedList <T> > GetPagesFromCacheAsync <TS>(int pageIndex, int pageSize, Expression <Func <T, bool> > @where, Expression <Func <T, TS> > @orderby, bool isAsc) { var temp = DataContext.Set <T>().Where(where); return(isAsc ? temp.OrderBy(orderby).ToCachedPagedListAsync(pageIndex, pageSize) : temp.OrderByDescending(orderby).ToCachedPagedListAsync(pageIndex, pageSize)); }
/// <summary> /// 获取所有实体 /// </summary> /// <returns>还未执行的SQL语句</returns> public virtual IQueryable <T> GetAll() { return(DataContext.Set <T>()); }
/// <summary> /// 高效分页查询方法,取出被AutoMapper映射后的数据集合 /// </summary> /// <typeparam name="TS"></typeparam> /// <typeparam name="TDto"></typeparam> /// <param name="pageIndex">第几页</param> /// <param name="pageSize">每页大小</param> /// <param name="where">where Lambda条件表达式</param> /// <param name="orderby">orderby Lambda条件表达式</param> /// <param name="isAsc">升序降序</param> /// <returns>还未执行的SQL语句</returns> public Task <PagedList <TDto> > GetPagesAsync <TS, TDto>(int pageIndex, int pageSize, Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc) where TDto : class { return(isAsc ? DataContext.Set <T>().Where(where).AsNoTracking().OrderBy(orderby).ToPagedListAsync <T, TDto>(pageIndex, pageSize, MapperConfig) : DataContext.Set <T>().Where(where).AsNoTracking().OrderByDescending(orderby).ToPagedListAsync <T, TDto>(pageIndex, pageSize, MapperConfig)); }
/// <summary> /// 获取第一条数据 /// </summary> /// <param name="where">查询条件</param> /// <returns>实体</returns> public virtual T GetFromCache(Expression <Func <T, bool> > where) { return(DataContext.Set <T>().Where(where).DeferredFirstOrDefault().Execute()); }
/// <summary> /// 高效分页查询方法,取出被AutoMapper映射后的数据集合,优先从缓存读取(不跟踪实体) /// </summary> /// <typeparam name="TS"></typeparam> /// <typeparam name="TDto"></typeparam> /// <param name="pageIndex">第几页</param> /// <param name="pageSize">每页大小</param> /// <param name="where">where Lambda条件表达式</param> /// <param name="orderby">orderby Lambda条件表达式</param> /// <param name="isAsc">升序降序</param> /// <returns>还未执行的SQL语句</returns> public virtual PagedList <TDto> GetPagesFromCache <TS, TDto>(int pageIndex, int pageSize, Expression <Func <T, bool> > where, Expression <Func <T, TS> > orderby, bool isAsc = true) where TDto : class { var temp = DataContext.Set <T>().Where(where).AsNoTracking(); return(isAsc ? temp.OrderBy(orderby).ToCachedPagedList <T, TDto>(pageIndex, pageSize, MapperConfig) : temp.OrderByDescending(orderby).ToCachedPagedList <T, TDto>(pageIndex, pageSize, MapperConfig)); }
/// <summary> /// 获取第一条数据 /// </summary> /// <param name="where">查询条件</param> /// <returns>实体</returns> public Task <T> GetFromCacheAsync(Expression <Func <T, bool> > @where) { return(DataContext.Set <T>().Where(where).DeferredFirstOrDefault().ExecuteAsync()); }
/// <summary> /// 根据ID删除实体 /// </summary> /// <param name="id">实体id</param> /// <returns>删除成功</returns> public virtual Task <int> DeleteByIdAsync(int id) { return(DataContext.Set <T>().Where(t => t.Id == id).DeleteAsync()); }
/// <summary> /// 获取第一条数据 /// </summary> /// <typeparam name="TS">排序</typeparam> /// <param name="where">查询条件</param> /// <param name="orderby">排序字段</param> /// <param name="isAsc">是否升序</param> /// <returns>实体</returns> public Task <T> GetFromCacheAsync <TS>(Expression <Func <T, bool> > @where, Expression <Func <T, TS> > @orderby, bool isAsc = true) { return(isAsc ? DataContext.Set <T>().OrderBy(orderby).Where(where).DeferredFirstOrDefault().ExecuteAsync() : DataContext.Set <T>().OrderByDescending(orderby).Where(where).DeferredFirstOrDefault().ExecuteAsync()); }
/// <summary> /// 获取所有实体(不跟踪) /// </summary> /// <returns>还未执行的SQL语句</returns> public virtual IQueryable <T> GetAllNoTracking() { return(DataContext.Set <T>().AsNoTracking()); }
public virtual List <TEntity> FindAll() { return(_context.Set <TEntity>().AsNoTracking().ToList()); }