1. 程式人生 > >【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (15)原始碼分享一:修改倉儲IRepository、RepositoryBase

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (15)原始碼分享一:修改倉儲IRepository、RepositoryBase

  1  #region 獲取多條資料操作
  2 
  3         /// <summary>
  4         /// 返回IQueryable集合,延時載入資料
  5         /// </summary>
  6         /// <param name="predicate"></param>
  7         /// <returns></returns>
  8         IQueryable<T> LoadAll(Expression<Func<T, bool>> predicate);
9 /// <summary> 10 /// 返回IQueryable集合,延時載入資料(非同步方式) 11 /// </summary> 12 /// <param name="predicate"></param> 13 /// <returns></returns> 14 Task<IQueryable<T>> LoadAllAsync(Expression<Func<T, bool>> predicate);
15 16 // <summary> 17 /// 返回List<T>集合,不採用延時載入 18 /// </summary> 19 /// <param name="predicate"></param> 20 /// <returns></returns> 21 List<T> LoadListAll(Expression<Func<T, bool>> predicate); 22
// <summary> 23 /// 返回List<T>集合,不採用延時載入(非同步方式) 24 /// </summary> 25 /// <param name="predicate"></param> 26 /// <returns></returns> 27 Task<List<T>> LoadListAllAsync(Expression<Func<T, bool>> predicate); 28 29 /// <summary> 30 /// 獲取DbQuery的列表 31 /// </summary> 32 /// <param name="predicate"></param> 33 /// <returns></returns> 34 DbQuery<T> LoadQueryAll(Expression<Func<T, bool>> predicate); 35 /// <summary> 36 /// 獲取DbQuery的列表(非同步方式) 37 /// </summary> 38 /// <param name="predicate"></param> 39 /// <returns></returns> 40 Task<DbQuery<T>> LoadQueryAllAsync(Expression<Func<T, bool>> predicate); 41 42 /// <summary> 43 /// 獲取IEnumerable列表 44 /// </summary> 45 /// <param name="sql">SQL語句</param> 46 /// <param name="para">Parameters引數</param> 47 /// <returns></returns> 48 IEnumerable<T> LoadEnumerableAll(string sql,params DbParameter[] para); 49 /// <summary> 50 /// 獲取IEnumerable列表(非同步方式) 51 /// </summary> 52 /// <param name="sql">SQL語句</param> 53 /// <param name="para">Parameters引數</param> 54 /// <returns></returns> 55 Task<IEnumerable<T>> LoadEnumerableAllAsync(string sql, params DbParameter[] para); 56 57 /// <summary> 58 /// 獲取資料動態集合 59 /// </summary> 60 /// <param name="sql">SQL語句</param> 61 /// <param name="para">Parameters引數</param> 62 /// <returns></returns> 63 IEnumerable LoadEnumerable(string sql, params DbParameter[] para); 64 /// <summary> 65 /// 獲取資料動態集合(非同步方式) 66 /// </summary> 67 /// <param name="sql">SQL語句</param> 68 /// <param name="para">Parameters引數</param> 69 /// <returns></returns> 70 Task<IEnumerable> LoadEnumerableAsync(string sql, params DbParameter[] para); 71 72 /// <summary> 73 /// 採用SQL進行資料的查詢,返回IList集合 74 /// </summary> 75 /// <param name="sql">SQL語句</param> 76 /// <param name="para">Parameters引數</param> 77 /// <returns></returns> 78 List<T> SelectBySql(string sql, params DbParameter[] para); 79 /// <summary> 80 /// 採用SQL進行資料的查詢,返回IList集合(非同步方式) 81 /// </summary> 82 /// <param name="sql">SQL語句</param> 83 /// <param name="para">Parameters引數</param> 84 /// <returns></returns> 85 Task<List<T>> SelectBySqlAsync(string sql, params DbParameter[] para); 86 87 /// <summary> 88 /// 採用SQL進行資料的查詢,指定泛型,返回IList集合 89 /// </summary> 90 /// <typeparam name="T1"></typeparam> 91 /// <param name="sql"></param> 92 /// <param name="para"></param> 93 /// <returns></returns> 94 List<T1> SelectBySql<T1>(string sql, params DbParameter[] para); 95 /// <summary> 96 /// 採用SQL進行資料的查詢,指定泛型,返回IList集合 97 /// </summary> 98 /// <typeparam name="T1"></typeparam> 99 /// <param name="sql"></param> 100 /// <param name="para"></param> 101 /// <returns></returns> 102 Task<List<T1>> SelectBySqlAsync<T1>(string sql, params DbParameter[] para); 103 104 /// <summary> 105 /// 可指定返回結果、排序、查詢條件的通用查詢方法,返回實體物件集合 106 /// </summary> 107 /// <typeparam name="TEntity">實體物件</typeparam> 108 /// <typeparam name="TOrderBy">排序欄位型別</typeparam> 109 /// <typeparam name="TResult">資料結果,與TEntity一致</typeparam> 110 /// <param name="where">過濾條件,需要用到型別轉換的需要提前處理與資料表一致的</param> 111 /// <param name="orderby">排序欄位</param> 112 /// <param name="selector">返回結果(必須是模型中存在的欄位)</param> 113 /// <param name="IsAsc">排序方向,true為正序false為倒序</param> 114 /// <returns>實體集合</returns> 115 List<TResult> QueryEntity<TEntity, TOrderBy, TResult>(Expression<Func<TEntity, bool>> where, Expression<Func<TEntity, TOrderBy>> orderby, Expression<Func<TEntity, TResult>> selector, bool IsAsc) 116 where TEntity : class 117 where TResult : class; 118 /// <summary> 119 /// 可指定返回結果、排序、查詢條件的通用查詢方法,返回實體物件集合(非同步方式) 120 /// </summary> 121 /// <typeparam name="TEntity">實體物件</typeparam> 122 /// <typeparam name="TOrderBy">排序欄位型別</typeparam> 123 /// <typeparam name="TResult">資料結果,與TEntity一致</typeparam> 124 /// <param name="where">過濾條件,需要用到型別轉換的需要提前處理與資料表一致的</param> 125 /// <param name="orderby">排序欄位</param> 126 /// <param name="selector">返回結果(必須是模型中存在的欄位)</param> 127 /// <param name="IsAsc">排序方向,true為正序false為倒序</param> 128 /// <returns>實體集合</returns> 129 Task<List<TResult>> QueryEntityAsync<TEntity, TOrderBy, TResult>(Expression<Func<TEntity, bool>> where, Expression<Func<TEntity, TOrderBy>> orderby, Expression<Func<TEntity, TResult>> selector, bool IsAsc) 130 where TEntity : class 131 where TResult : class; 132 133 /// <summary> 134 /// 可指定返回結果、排序、查詢條件的通用查詢方法,返回Object物件集合 135 /// </summary> 136 /// <typeparam name="TEntity">實體物件</typeparam> 137 /// <typeparam name="TOrderBy">排序欄位型別</typeparam> 138 /// <param name="where">過濾條件,需要用到型別轉換的需要提前處理與資料表一致的</param> 139 /// <param name="orderby">排序欄位</param> 140 /// <param name="selector">返回結果(必須是模型中存在的欄位)</param> 141 /// <param name="IsAsc">排序方向,true為正序false為倒序</param> 142 /// <returns>自定義實體集合</returns> 143 List<object> QueryObject<TEntity, TOrderBy>(Expression<Func<TEntity, bool>> where, Expression<Func<TEntity, TOrderBy>> orderby, Func<IQueryable<TEntity>, List<object>> selector, bool IsAsc) 144 where TEntity : class; 145 /// <summary> 146 /// 可指定返回結果、排序、查詢條件的通用查詢方法,返回Object物件集合(非同步方式) 147 /// </summary> 148 /// <typeparam name="TEntity">實體物件</typeparam> 149 /// <typeparam name="TOrderBy">排序欄位型別</typeparam> 150 /// <param name="where">過濾條件,需要用到型別轉換的需要提前處理與資料表一致的</param> 151 /// <param name="orderby">排序欄位</param> 152 /// <param name="selector">返回結果(必須是模型中存在的欄位)</param> 153 /// <param name="IsAsc">排序方向,true為正序false為倒序</param> 154 /// <returns>自定義實體集合</returns> 155 Task<List<object>> QueryObjectAsync<TEntity, TOrderBy>(Expression<Func<TEntity, bool>> where, Expression<Func<TEntity, TOrderBy>> orderby, Func<IQueryable<TEntity>, List<object>> selector, bool IsAsc) 156 where TEntity : class; 157 158 /// <summary> 159 /// 可指定返回結果、排序、查詢條件的通用查詢方法,返回動態類物件集合 160 /// </summary> 161 /// <typeparam name="TEntity">實體物件</typeparam> 162 /// <typeparam name="TOrderBy">排序欄位型別</typeparam> 163 /// <param name="where">過濾條件,需要用到型別轉換的需要提前處理與資料表一致的</param> 164 /// <param name="orderby">排序欄位</param> 165 /// <param name="selector">返回結果(必須是模型中存在的欄位)</param> 166 /// <param name="IsAsc">排序方向,true為正序false為倒序</param> 167 /// <returns>動態類</returns> 168 dynamic QueryDynamic<TEntity, TOrderBy>(Expression<Func<TEntity, bool>> where, Expression<Func<TEntity, TOrderBy>> orderby, Func<IQueryable<TEntity>, List<object>> selector, bool IsAsc) 169 where TEntity : class; 170 /// <summary> 171 /// 可指定返回結果、排序、查詢條件的通用查詢方法,返回動態類物件集合(非同步方式) 172 /// </summary> 173 /// <typeparam name="TEntity">實體物件</typeparam> 174 /// <typeparam name="TOrderBy">排序欄位型別</typeparam> 175 /// <param name="where">過濾條件,需要用到型別轉換的需要提前處理與資料表一致的</param> 176 /// <param name="orderby">排序欄位</param> 177 /// <param name="selector">返回結果(必須是模型中存在的欄位)</param> 178 /// <param name="IsAsc">排序方向,true為正序false為倒序</param> 179 /// <returns>動態類</returns> 180 Task<dynamic> QueryDynamicAsync<TEntity, TOrderBy>(Expression<Func<TEntity, bool>> where, Expression<Func<TEntity, TOrderBy>> orderby, Func<IQueryable<TEntity>, List<object>> selector, bool IsAsc) 181 where TEntity : class; 182 183 #endregion

相關推薦

無私分享入門精通ASP.NET MVC0開始一起框架專案 15原始碼分享修改倉儲IRepositoryRepositoryBase

1 #region 獲取多條資料操作 2 3 /// <summary> 4 /// 返回IQueryable集合,延時載入資料 5 /// </summary> 6 /// &l

無私分享入門精通ASP.NET MVC0開始一起框架專案 16原始碼分享登入功能以及UI資料庫倉儲原始碼分享

1 using Common; 2 using Service.IService; 3 using System; 4 using System.Collections.Generic; 5 using System.Linq; 6 using System.Web;

無私分享入門精通ASP.NET MVC0開始一起框架專案7.2 模組管理模組的新增修改刪除

索引 簡述 今天我們來做模組管理的 新增、修改、刪除 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了

無私分享入門精通ASP.NET MVC0開始一起框架專案5.3 登入功能的實現豐富資料表建立關聯

1 USE [wkmvc_db] 2 GO 3 /****** Object: Table [dbo].[SYS_CODE] Script Date: 2016/5/17 9:30:01 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET

無私分享入門精通ASP.NET MVC0開始一起框架專案 10部門管理崗位管理和員工管理

1 USE [wkmvc_db] 2 GO 3 /****** Object: Table [dbo].[SYS_POST_USER] Script Date: 2016/6/20 16:28:44 ******/ 4 SET ANSI_NULLS ON 5 GO

無私分享入門精通ASP.NET MVC0開始一起框架專案 12程式與資料備份

索引 簡述 程式檔案備份與資料備份 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。 專案開始

無私分享入門精通ASP.NET MVC0開始一起框架專案5.4 登入功能的實現建立與登入使用者相關的介面和實現類

索引 簡述 今天我們建立幾個與登入使用者相關的資料表的介面和實現類 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了

無私分享入門精通ASP.NET MVC0開始一起框架專案 14附資料庫釋出專案

索引 簡述 總結一 整個系列其實還包括專案管理、考勤簽到、郵件、內部聊天等等,這個東西是做不完的,如果繼續還有新聞系統、靜態生成等等等等.... 其中,靜態頁生成在我的部落格中可以找到,三種方式: 第一種 就是類似網上的很多CMS一樣 採用標籤替換,但這種方式是不推薦的,特別是在我們.Net中,

無私分享入門精通ASP.NET MVC0開始一起框架專案5.5 登入功能的實現完善登入功能

索引 簡述 今天我們來完善我們的登入功能 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。 專案開

無私分享入門精通ASP.NET MVC0開始一起框架專案 登入介面前端樣式和特效

很多朋友要UI,我也說過,後臺的UI就是BootStrap,網上很多的。也有朋友喜歡LZ的登入,LZ的登入介面也是網上找的,然後稍微做了下修改。 不過既然大家喜歡,那麼LZ就分享給大家。 1、登入頁面效果 2、登入頁面程式碼 1 @{ 2 Layout = null; 3

無私分享入門精通ASP.NET MVC0開始一起框架專案5.2 登入功能的實現介面注入log4net的使用

索引 簡述 前兩天事情比較多,耽誤更新了,希望大家多多包涵,今天我們繼續做我們的登入功能 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行

無私分享入門精通ASP.NET MVC0開始一起框架專案5.1 登入功能的實現開始接觸Spring IOCDI

索引 簡述 今天我們做登入,今天的東西比較多,用到了Spring的IOC和DI、介面的使用、驗證等,希望大家多多討論 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些

無私分享入門精通ASP.NET MVC0開始一起框架專案7.1 模組管理驗證許可權展示模組列表

索引 簡述 今天我們來做模組管理的 展示 模組列表 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。

無私分享入門精通ASP.NET MVC0開始一起框架專案9 角色管理分配許可權

索引 簡述 今天我們來做角色的管理 和 角色許可權分配 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解

無私分享入門精通ASP.NET MVC0開始一起框架專案1搭建MVC環境 註冊區域

索引 簡述 從今天開始,我們從0開始搭建一個框架,並且完成一個任務管理系統的專案。這並不是什麼大專案,只是對於不熟悉MVC以及不熟悉面向介面開發和依賴注入的朋友們有所啟發,因為是從0開始,所以有些地方比較囉嗦,希望大家理解! 希望新手朋友們拋棄“拿來主義”,動手跟著一步一步的做,當做完這個框架和專案

無私分享入門精通ASP.NET MVC0開始一起框架專案6 控制器基類 主要登入使用者許可權認證日誌記錄等工作

索引 簡述 今天我們來寫一個控制器基類 主要做登入使用者、許可權認證、日誌記錄等工作 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,

無私分享入門精通ASP.NET MVC0開始一起框架專案8 許可權管理自定義許可權擴充套件許可權

索引 簡述 今天我們來做許可權的管理,這篇比較多 希望新手朋友慢慢消化 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的

無私分享入門精通ASP.NET MVC0開始一起框架專案 13客戶管理

索引 簡述 簡單的客戶管理 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。 專案開始 一、資料

無私分享入門精通ASP.NET MVC0開始一起框架專案3公共基礎資料操作類 RepositoryBase

索引 簡述 今天我們寫一個基礎資料的操作類,如果裡面有大家不理解的地方,可採取兩種方式,第一:提出來,第二:會用就行。這個類呢我一般不去修改它,因為基礎操作類,大家也可以直接拷貝到自己的專案中。 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大

無私分享入門精通ASP.NET MVC0開始一起框架專案 11檔案管理

索引 簡述 檔案管理,這個比較雞肋 但是有些方法 大家可以參考下 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,