在上篇中,咱們學會了存儲過程的關係映射,其中知道了存儲過程須要使用:ProcSet做爲操做的上下文,以及在Field特性上,咱們知道了新的兩個屬性用來存儲過程的參數輸入輸出。框架
在上篇末尾,提到了4個屬性方法。這篇簡單的講解下。工具
var info = new InsertUserVO { UserName = "now111", PassWord = "old222" }; Proc.Data.InsertUser.Execute(info);
InsertUser是ProcSet<InsertUserVO>類型的屬性,這在上一篇中,能夠看到它的定義。學習
從咱們定義的實體中InsertUserVO,能夠看到:UserName、PassWord是IsInParam = true的,也就是說他們是咱們要傳入的參數(存儲過程)。而ID 是 out 參數。spa
因此在執行Execute後,會把UserName、PassWord生成SQL參數並執行到"sp_Insert_User"存儲過程當中的。同時設置了out 參數的ID,那麼out參數會返回並賦值到ID屬性中來。.net
/// <summary> /// 返回查詢的值 /// </summary> /// <param name="entity">傳入被設置好參數賦值的實體</param> /// <param name="t">失敗時返回的值</param> public T GetValue<T>(TEntity entity = null, T t = default(T)) /// <summary> /// 執行存儲過程 /// </summary> /// <param name="entity">傳入被設置好參數賦值的實體</param> public void Execute(TEntity entity = null) /// <summary> /// 返回單條記錄 /// </summary> /// <param name="entity">傳入被設置好參數賦值的實體</param> public TEntity ToEntity(TEntity entity = null) /// <summary> /// 返回多條記錄 /// </summary> /// <param name="entity">傳入被設置好參數賦值的實體</param> public List<TEntity> ToList(TEntity entity = null)
根據咱們常常碰到的,專門提供了4種類型的存儲過程執行:code
存儲過程的操做很是簡單。只須要在上面提供的4種方法以前,傳入須要的參數類型的實體便可執行咱們要的存儲過程,這樣便實現了咱們說到的存儲過程映射 了。htm
博主就不一一對這4個方法進行調用說明了。
至於選則哪一種方法來執行,須要根據你的存儲過程定義時,它執行完後返回的類型來本身選擇。
存儲過程執行完後無返回(out參數不算),則調用:Execute
若是返回列表、單值(單個字段)、單條記錄,則找到對應的執行方法便可。
其實,至少,Farseer.Net的大部份操做咱們已經講完了。經過學習到這裏,你已經能夠在實際的項目中進行使用了。
日後的教程只不過是一些提供(可能你用不到)的功能而已。因此如今開始,趕忙下載它,應用到你的項目中來吧(以學習爲目的)
Farseer.Net 要作的出色,須要你們的努力,須要你的出謀策劃,一旦接受,博主將會把它實如今在下個版中來。
事實上如今裏面的不少功能都是你們提出來的。在加以博主汗水而發佈出來的。從中你們均可以學習到不一樣角度的知識。
還等什麼?趕忙加入咱們吧:QQ羣:116228666 (Farseer.net開源框架交流) 請註明:Farseer.Net
QQ羣:116228666 (Farseer.net開源框架交流) 請註明:Farseer.Net
Farseer.Net是一款ORM框架 + 經常使用工具 + 擴展集合。
Farseer 寓意:先知、預言家 一般在某些場合時,提供計謀、策略。也但願該框架能給你們提供最大化的便捷。
ORM:其英文全稱是:Object(對象) Relational(關係) Mapping(映射)
Farseer.Net的目標是:快速上手、快速開發、簡單方便。
1 Table.Data.User.Where(o=>o.ID == 1).ToEntity(); 2 Table.Data.User.Where(o=>o.ID > 1).ToList(); 3 Table.Data.User.Where(o=>o.ID != 0).Delete(); 4 Table.Data.User.Where(o=>o.ID != 0).AddUp(o=>o.LoginCount, 1); 5 Table.Data.User.Where(o=>o.ID == 1).Update(new User{ UserName = "newName" }); 6 Table.Data.User.Insert(new User{ UserName = "newName" });