/// <summary> /// 获取指定范围的所有数据 /// </summary> /// <param name="deletedDataType">删除数据范围</param> /// <param name="enterpriseDataType">企业数据范围</param> /// <returns></returns> public virtual IQueryable <T> GetAll(DeletedDataType deletedDataType = DeletedDataType.UnDeletedOnly, EnterpriseDataType enterpriseDataType = EnterpriseDataType.CurrentAndSubs) { var model = _dbset as IQueryable <T>; if (typeof(IEnterprise).IsAssignableFrom(typeof(T))) { switch (enterpriseDataType) { case EnterpriseDataType.CurrentOnly: model = model.Where("EnterpriseId=\"" + _userInfo.EnterpriseId + "\""); break; case EnterpriseDataType.CurrentAndSubs: model = model.Where("EnterpriseId.StartsWith(\"" + _userInfo.EnterpriseId + "\")"); break; default: model = model.Where("EnterpriseId.StartsWith(\"100\")"); break; } } if (typeof(IDbSetBase).IsAssignableFrom(typeof(T))) { switch (deletedDataType) { case DeletedDataType.UnDeletedOnly: model = model.Where("Deleted=false"); break; case DeletedDataType.DeletedOnly: model = model.Where("Deleted=true"); break; default: break; } model = model.OrderBy("CreatedDate desc, CreatedTime desc"); } if (typeof(IUserDictionary).IsAssignableFrom(typeof(T))) { model = model.OrderBy("SystemId"); } return(model); }
/// <summary> /// 获取指定条件的数据 /// </summary> /// <param name="where">查询条件</param> /// <param name="deletedDataType">删除数据范围</param> /// <param name="enterpriseDataType">企业数据范围</param> /// <returns></returns> public virtual IQueryable <T> GetAll(Expression <Func <T, bool> > where, DeletedDataType deletedDataType = DeletedDataType.UnDeletedOnly, EnterpriseDataType enterpriseDataType = EnterpriseDataType.CurrentAndSubs) { return(GetAll(deletedDataType, enterpriseDataType).Where(where)); }