A. 在下對MVC(EF)中的資料庫遷移不是很理解,(比如enable-migration add-mi
這些都是EF的命令, 就像 在cmd窗口輸入ping 123.123...這樣的命令
enable-migration 是開啟資料庫遷移的命令
add-migration 新增一個遷移項, 比如你新加一個類, 同時生成對應的表UserInfo:
[Table("UserInfo")]
public class 用戶
{
一堆的屬性
}
遷移命令就是 add-migration 用戶add, 這個命令執行完之後會 生成一個遷移文件(可修改),
然後執行命令update-database, 這個命令會根據遷移文件生成對應的表.
當然了, 新建類之後, 在update-database之前, 記得要把這個類在對應的DataContext中引用
更改類的屬性的命令是 add-migration 用戶change, 然後update-database
刪除類的命令是 add-migration 用戶delete, 然後update-database
B. SqlSugar、Freesql、Dos.ORM、EF、四種ORM框架的對比
什麼是ORM?ORM即對象關系映射,解決面向對象與關系資料庫不匹配問題的技術。通過元數據描述對象與資料庫之間的映射,將程序中的對象自動持久化到關系資料庫中。主要實現將實體映射至資料庫表,使用ORM框架封裝的API進行資料庫訪問,減少自定義資料庫訪問類的步驟。
ORM框架的優缺點包括:優點如簡化操作、提高開發效率、支持面向對象封裝、代碼可移植、減少重復性代碼;缺點如復雜查詢時語法復雜、執行性能較低(部分輕型ORM框架性能接近原生SQL)。
四種ORM框架的性能對比如下:SqlSugar、DOS.ORM、Freesql、EF。具體性能如下:
CRUD性能:循環CRUD操作中,SqlSugar最快,EF最慢,其中新增操作速度比EF快20倍左右。批量CRUD操作中,Freesql的批量新增性能優於其他框架,而批量修改、刪除操作中,Freesql和SqlSugar性能較好。
所有框架均支持基本查詢、多表查詢、分組查詢、批量增刪改操作、存儲過程、事務、執行SQL、日誌等功能。
個人推薦SqlSugar,原因在於其易於上手,日誌跟蹤功能簡單明了,文檔編寫詳細,可由代碼自動生成資料庫,適合快速開發。同時,Freesql與SqlSugar功能相似,但在批量操作和日誌跟蹤方面略遜一籌。Dos.ORM由於需通過代碼生成器創建類文件,學習成本較高,故不推薦。而EF作為重量級ORM框架,功能全面,適合大項目開發,但需要一定的學習成本。
總結:SqlSugar在CRUD性能方面表現最優,推薦給需要高效資料庫操作的項目。