updated by 2021-11-26
EFCore
1、反向工程,从数据库生成model
Scaffold-DbContext "Data Source=0123LO3619407\SQLEXPRESS;Initial Catalog=DevList;Integrated Security=false;uid=sa;pwd=1qaz@WSX;MultipleActiveResultSets=True;App=EntityFramework" Microsoft.EntityFrameworkCore.SqlServer -OutputDir DBContext_EF\AutoGenerated\DevList_DS -usedatabasename -Force
2、从model中更新到数据库
首次使用:add-migration Initial
如有更新:add-migration ‘migrationName’
后续更新:update-database
注意: 只能更新表,存储过程没法更新,可以通过导出存储过程脚本去执行存储过程
EF Framwork
我运营的一个项目后台是用EF CodeFirst操作数据库,因此摸索了一点点经验,分享一下.
添加字段或表:
新增表和字段有两种方法
1、直接修改模型,然后执行命令:add-migration AddMigName,迁移生成的类中会自动包含要新增或修改的表结构,这种注意了,生成的迁移类中就不要再手动修改,比如字符串的长度什么的,这样会导致生成的表字段和新建的模型不一致而报错,因为数据库是根据迁移类来生成的,模型本来也是根据迁移类来生成的,但是模型已经手动添加了表结构,所以迁移类不会更改模型,这样导致表结构和模型不一致,哪怕是字段的长度或类型不一致都会报错
具体迁移类的脚本
2、不修改模型,直接执行命令新建一个空的迁移类,然后在迁移类中自己写修改表结构的代码
建立初态:add-migration Initial EF会自动生成Migrations迁移文件夹
可以直接在直接新增一个类如:CompanyInstrument_EF,然后在XEngineContext类中通过
CompanyInstrument_EF类,具体字段自己定义
将类加入模型
add-migration
将迁移应用到数据库:update-database --更新数据库