EFCore学习笔记一:(安装EFCore并根据Code First生成数据库)
需要从NuGet引入的包:
首先确保你电脑安装了ef的tools包
打开程序包管理平台:
输入:
get-help entityframework
出现上述独角兽则安装成功,然后写相应的Model或者Entity类
/// <summary> /// 用户信息 /// </summary> [TableMapping("userinfo")] public class UserInfoModel : BaseModel { [StringLength(maximumLength: 20, MinimumLength = 0)] public string userName { get; set; } [StringLength(16)] public string Password { get; set; } public AuthorityModel Authority { get; set; } [Phone] public string phoneNumber { get; set; } [StringLength(50)] public string Address { get; set; } [EmailAddress] public string Email { get; set; } }
接着在项目内加入Context类,此类主要是配置连接用:
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.SqlServer;
public class DsektopDbContext:DbContext { protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { //optionsBuilder.UseSqlServer("Data Source=(localdb)\\MSSQLLocalDB;Initial Catalog=Demo"); //这个是VS自带的一个数据库详细见下方截图 optionsBuilder.UseSqlServer("Data Source=嘎嘎嘎嘎嘎\\SQLEXPRESS(这个是你自己电脑上安装的sqlsever名字);Initial Catalog=DesktopUniversalFrame;Uid=sa;Pwd=123456"); } public DbSet<UserInfoModel> Authority { get; set; } public DbSet<Patient> Patient { get; set; } }
然后在程序包管理器控制平台上输入:
add-migration 20210813 update-database -verbose
这个20210813是自定义的类名可以随便取当出现done的时候即安装成功。
给大家看下在OnConfiguring里面的两种不同配置串的生成:
第一种是在vs自带的localdb里的
第二种是本机的:
除了这种方法外还可以通过修改配置文件来修改:
localdb的连接串为:
<entityFramework> <defaultConnectionFactorytype="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="v11.0" /> </parameters> </defaultConnectionFactory> </entityFramework>
本地sqlsever连接串为:
<entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework"> <parameters> <parameter value="Data Source=.; Integrated Security=True; MultipleActiveResultSets=True" /> </parameters> </defaultConnectionFactory> </entityFramework>