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性能方面表现最优,推荐给需要高效数据库操作的项目。