日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EF使用笔记

發布時間:2025/4/9 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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

總結

以上是生活随笔為你收集整理的EF使用笔记的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。