public IEnumerable<PermissionFilter> GetPermissionFilters(int memberId, MemberType memberType)
		{
			var entity = new PermissionFilterEntity();
			var dataAccess = this.EnsureService<IDataAccess>();

			var oql = OQL.From(entity)
						 .Select()
						 .Where(p => p.Compare(entity.MemberId, "=", memberId) & p.Compare(entity.MemberType, "=", Convert.ConvertValue<byte>(memberType)))
						 .End();

			var entities = dataAccess.Select<PermissionFilterEntity>(oql);

			return Mapper.Map<IEnumerable<PermissionFilterEntity>, IEnumerable<PermissionFilter>>(entities);
		}
		public void SetPermissionFilters(int memberId, MemberType memberType, IEnumerable<PermissionFilter> permissionFilters)
		{
			if(permissionFilters == null)
				throw new ArgumentNullException("permissionFilters");

			var dataAccess = this.EnsureService<IDataAccess>();

			var entities = new List<PermissionFilterEntity>();

			foreach(var permission in permissionFilters)
			{
				permission.MemberId = memberId;
				permission.MemberType = memberType;

				entities.Add(Mapper.Map<PermissionFilter, PermissionFilterEntity>(permission));
			}

			var entity = new PermissionFilterEntity();

			dataAccess.BeginTransaction();

			try
			{
				// 清空指定成员的所有权限设置
				dataAccess.Execute(OQL.From(entity).Delete().Where(p => p.Compare(entity.MemberId, "=", memberId) & p.Compare(entity.MemberType, "=", Convert.ConvertValue<byte>(memberType))).End());

				// 插入指定的权限设置集到数据库中
				dataAccess.Insert(entities);

				// 提交事务
				dataAccess.Commit();
			}
			catch(Exception ex)
			{
				dataAccess.Rollback();

				throw ex;
			}
		}