EF使用笔记
最近寫接口導數據到大數據中心,但是實體數據字段非常多,如果手動去建數據庫表和寫插入語句效率非常低,所以想都試一試EF,效率之高,簡直嚇人,所以此文詳細記錄操作過程以備下次使用時之用。僅需六部就可完成建表,插入數據,下面詳細介紹如下:
一、引用EntityFramework
使用nuget快速引用EF框架到API項目中,引用成功后可以看到加入了兩個名為:EntityFramework,EntityFramework.sqlserver的包,說明引用成功了,第一步搞定。
二、配置數據庫連接字符
在config文件中,添加connectionStrings標簽,然后添加連接數據庫的配置,連接字符串名為:DefaultConnection,如下圖:
<add name="DefaultConnection" connectionString="Data Source=XXXX;database=XXXX;Uid=XXX;Pwd=XXX;Integrated Security=false;" providerName="System.Data.SqlClient"/>
三、添加數據庫關聯實體類
其中appDb():base("name=DefaultConnection")為構造函數,DefaultConnection為數據庫連接字符串名,保持和第二步一致就行。下面的Admin,AdminRole,AdminAuthorize是三個實體,也即需要建的三個表名。
四、實體類的構建
首先引用:
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
其中可以自定義表名,用[Table("tablename")],如果不設置則,表名默認為實體類名,每個表必須用[key]指定表的主鍵字段,不然在構建migration的時候會報錯。同時如果有主外鍵關聯的表,需要用虛擬泛型函數來處理,如在customer表中,有一個DialogRecord表,則在customer表中需要這么寫:
public?virtual?ICollection<DialogRecord>?dialogs ?{?get;?set;?}/ /對話消息 五、建表 利用Migration命令在nuget命令行中依次運行以下三個命令: (1)Enable-Migrations,構建migration模塊,如果要重新構建,在代碼中刪除該模塊重新輸入該命令即可(2)Add-Migration?init,初始化migration
(3)Update-Database,建表 六、寫入數據庫 給數據庫表添加數據,這里舉例給Admin添加數據,命令如下: var db = new AppDb(); db.Admin.Add(data);//data必須是Admin的對象 db.SaveChanges();//保存數據 執行sql語句:db.Database.SqlQuery<XY_Hospital>("select * from XY_Hospital").ToList()
通過以上六步就完成了整個過程,包括建表,寫入數據庫操作,非常簡單快捷,當然增刪改查也可以,這里只寫了寫入操作。
?
轉載于:https://www.cnblogs.com/marso/p/8638493.html
總結
- 上一篇: 装饰器带参数
- 下一篇: 简单实现一边固定,另一边自适用