EF脚手架生成数据库上下文(scaffold-dbcontext)
scaffold-dbcontext 可以根据数据库生成ef上下文(mysql,sqlserver,sqlite)
这里只说重点怎么使用scaffold-dbcontext,只需三个步骤
1 在nuget包中引用两个包
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.SqlServer/ Pomelo.EntityFrameworkCore.Mysql /Microsoft.EntityFrameworkCore.Sqlite(根据数据库的不同选择自己的)
2使用命令生成(nuget管理控制台输入命令)
Scaffold-DbContext "server=127.0.0.1;uid=user;pwd=pwd;database=databse;" Pomelo.EntityFrameworkCore.MySql -OutputDir Models(mysql)
Scaffold-DbContext "server=127.0.0.1;uid=user;pwd=pwd;database=databse;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models(sqlserver)
Scaffold-DbContext "server=127.0.0.1;uid=user;pwd=pwd;database=databse;" Microsoft.EntityFrameworkCore.Sqlite -OutputDir Models(sqlite)
------------------------------------------------参考参数-----------------------------------------------------------------
1,普通的命令
Scaffold-DbContext "Server=.\SQL2012;Database=Test;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models
2,加force参数,当Models文件夹下已有数据库实体类时使用。
Scaffold-DbContext "Server=.\SQL2012;Database=Test;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -force
3,指定生成某一个数据库表的实体类。
Scaffold-DbContext "Server=.\SQL2012;Database=Test;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -force -tables Role
------------------------------------------------参考参数-----------------------------------------------------------------
其中 Models 是将文件生成到指定的文件
3使用生成的上下文,可以实现简单的增删改查比如:
查询 _corecontext.ScheduleInfo.Where(o => o.Id > 0);
the end;