Farseer.net輕量級開源框架 入門篇:添加數據詳解


導航

目   錄:Farseer.net輕量級開源框架 目錄

上一篇:Farseer.net輕量級開源框架 入門篇: 分類邏輯層

下一篇:Farseer.net輕量級開源框架 入門篇: 修改數據詳解

前面講的大多數是原理及說明,大家在理解上會比較枯燥,接下來的幾篇,傾向於實戰,會比較有意思些。

 這里的話,還是拿Users實體類來講解在我們框架的幾種添加方式。

Insert的幾種方式
1         Users info = new Users();
2         info.UserName = "張三";
3         Users.Data.Insert(info);
1         new Users() { UserName = "張三" }.Insert();

兩種方式都可以實現對數據的添加操作。

第二種方式實際也是執行第一種的過程。只不過是做了擴展方法。

Insert的重載版本
 1         /// <summary>
 2         ///     插入數據
 3         /// </summary>
 4         /// <param name="info">已賦值的實體</param>
 5         /// <param name="db">可傳入事務的db</param>
 6         public bool Insert(TInfo info, DbExecutor db = null);
 7 
 8         /// <summary>
 9         ///     插入數據
10         /// </summary>
11         /// <param name="info">已賦值的實體</param>
12         /// <param name="db">可傳入事務的db</param>
13         /// <param name="identity">標識,剛插入的ID</param>
14         public bool Insert(TInfo info, out int identity, DbExecutor db = null);

上面演示的,實質上是第一個方法。而第二個方法。多了一個參數:out int identity

將在插入數據庫時,把自增ID返回到這個參數來。

需要注意的是:實際上第一種也返回了自增值。只是這個值是放在了 info.ID中。

SqlServer的特性批量添加操作
1         // 批量插入數據。(僅支持Sql Server)
2         var lst = new List<Users>();
3         lst.Add(new Users());
4         lst.Add(new Users());
5         lst.Add(new Users());
6         lst.Add(new Users());
7         Users.Data.SqlBulkCopy(lst);
框架約定

當屬性未賦值時,也就是屬性為null時。是不會產生對應的字段SQL的。

如:

1 new Users() { UserName = "張三" }.Insert();

Users實體實際上還有很多字段,比如PassWord、GenderType、LoginCount等等。

因為我們沒有對其賦值,則為null 所以。數據庫是不會對其進行賦值的。也就是等價的SQL為:

1 insert into Members_User (UserName)Values("張三")

 

導航

目   錄:Farseer.net輕量級開源框架 目錄

上一篇:Farseer.net輕量級開源框架 入門篇: 分類邏輯層

下一篇:Farseer.net輕量級開源框架 入門篇: 修改數據詳解

廣告時間

QQ群:116228666 (Farseer.net開源框架交流) 請注明:Farseer.Net

Farseer.Net是一款ORM框架 + 常用工具 + 擴展集合。

Farseer 意為:先知、預言家 通常在某些場合時,提供計謀、策略。也希望該框架能給大家提供最大化的便捷。

ORM:其英文全稱是:Object(對象) Relational(關系) Mapping(映射)

Farseer.Net的目標是:快速上手、快速開發、簡單方便。

1 new User { ID = 1, Name = "張三" }.Insert()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM