/// <summary>
 /// 查询所有
 /// </summary>
 /// <param name="expression"></param>
 /// <returns></returns>
 public IQuery <TEntity> Query(Expression <Func <TEntity, bool> > expression, DataBaseWriteTypeEnum type = DataBaseWriteTypeEnum.Read)
 {
     if (type == DataBaseWriteTypeEnum.Read)
     {
         return(DbContext.Query <TEntity>().Where(expression));
     }
     return(DbWriteContext.Query <TEntity>().Where(expression));
 }
 /// <summary>
 /// 查询所有
 /// </summary>
 /// <returns></returns>
 public IQuery <TEntity> Query(DataBaseWriteTypeEnum type = DataBaseWriteTypeEnum.Read)
 {
     if (type == DataBaseWriteTypeEnum.Read)
     {
         return(DbContext.Query <TEntity>());
     }
     return(DbWriteContext.Query <TEntity>());
 }
 /// <summary>
 /// 计算个数
 /// </summary>
 /// <param name="expression"></param>
 /// <returns></returns>
 public int Count(Expression <Func <TEntity, bool> > expression, DataBaseWriteTypeEnum type = DataBaseWriteTypeEnum.Read)
 {
     return(Query(expression, type).Count());
 }
 /// <summary>
 /// 查询列表中第一个条数据
 /// </summary>
 /// <param name="expression"></param>
 /// <returns></returns>
 public TEntity FirstOrDefault(Expression <Func <TEntity, bool> > expression, DataBaseWriteTypeEnum type = DataBaseWriteTypeEnum.Read)
 {
     return(Query(expression, type).FirstOrDefault());
 }