Entity Framework底层操作封装V2版本(7)
下面就是使用了:首先我们举例没有缓存的类的使用:同时也把多条件组合 lambda 的使用弄上来给大家看看
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using JFrame.AccessCommon;
- using JFrame.Entity;
- using JFrame.Utility;
- using System.Linq.Expressions;
- namespace JFrame.Dal
- {
- public class SysOperateLogDal : DalBaseData<SysOperateLog>
- {
- /// <summary>
- ///
- /// </summary>
- /// <param name="PageInfo"></param>
- /// <param name="ErrorType"></param>
- /// <param name="ErrorContent"></param>
- /// <param name="StarTime"></param>
- /// <param name="EndTime"></param>
- /// <returns></returns>
- public List<SysOperateLog> GetSysOperateLog(PagingInfo PageInfo, string ErrorType, string ErrorContent, DateTime? StarTime, DateTime? EndTime)
- {
- Expression<Func<SysOperateLog, bool>> expression = PredicateExtensions.True<SysOperateLog>();
- expression = expression.And(o => 1 == 1);
- if (!string.IsNullOrEmpty(ErrorType))
- {
- expression = expression.And(o => o.OType == ErrorType);
- }
- if (!string.IsNullOrEmpty(ErrorContent))
- {
- expression = expression.And(o => o.OContent.Contains(ErrorContent));
- }
- if (StarTime!=null)
- {
- expression = expression.And(o => o.ODate > StarTime);
- }
- if (EndTime != null)
- {
- expression = expression.And(o => o.ODate < EndTime);
- }
- return GetAllEntityByPage(expression, PageInfo, p => p.LogId);
- }
- }
- }
下面是需要进行数据缓存的类的实例:角色是需要经常用到的,每个用户登录以后,都需要不断的去去读这部分数据,判断用户所有使用功能的权限。
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using JFrame.Entity;
- namespace JFrame.Dal
- {
- public class SysRolesDal : DalBaseDataCache<SysRoles>
- {
- public List<SysRoles> GetUserRoles(int UserId)
- {
- int?[] SysRoleMenu = (from myTabe in new DalBaseDataCache<SysUserAndRoles>().GetListByWhere(p => p.UBaseId == UserId)
- select myTabe.RoleId).ToArray();
- return GetListByWhere(p => SysRoleMenu.Contains(p.RoleId));
- }
- }
- }
http://blog.csdn.net/jacky4955/article/details/25414579