Entity Framework Core 3.1 入门(一)创建项目
此入门教程是记录下方参考资料视频的过程,本例基于Entity Framework Core 3.1
开发工具:Visual Studio 2019
目录
Entity Framework Core 3.1 入门(八)在 ASP.NET Core 中配置 Entity Framework Core
Entity Framework Core 3.1
- Entity Framework Core是一个ORM(Object Relational Mapping),对象关系映射
- Entity Framework Core 3.1是一个长期支持版本
实例
- 联赛:League,一个League对应多个Club
- 足球队:Club,一个Club对应多个Player
- 队员:Player
项目
- 新建空白解决方案
这里就命名为Demo吧,随意点
建立实体类
-
解决方向下新建项目 》类库 》命名为 Demo.Domain
-
在 Demo.Domain 下新建实体类
public class League
{
public int Id { get; set; }
public string Name { get; set; }
public string Country { get; set; }
}
public class Club
{
public Club()
{
//实例化列表,防止空指针异常
this.Players = new List<Player>();
}
public int Id { get; set; }
public string Name { get; set; }
public string City { get; set; }
//成立日期
public DateTime DateOfEstablishment { get; set; }
//比较长的描述性文字
public string History { get; set; }
//实体关系在此处建立联系
public League League { get; set; }
public List<Player> Players { get; set; }
}
public class Player
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
}
建立 DbContext
-
解决方向下新建项目 》类库 》命名为 Demo.Data
-
NuGet 添加 Microsoft.EntityFrameworkCore.SqlServer
-
新建类 》命名为 DemoContext,继承 DbContext
public class DemoContext : DbContext
{
public DbSet<League> Leagues { get; set; }
public DbSet<Club> Clubs { get; set; }
public DbSet<Player> Players { get; set; }
}
- override OnConfiguring() 方法
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
//UseSqlServer(),参数是连接字符串
optionsBuilder.UseSqlServer("Data Source=(localdb)\\MSSQLLocalDB; Initial Catalog=Demo");
}
建立启动项
-
这里我们使用控制台,解决方向下新建项目 》控制台 》命名为 Demo.App
-
依赖项 》右键 》添加引用,将 Demo.Domain 和 Demo.Data 勾选 》确定
-
右键 》设为启动项
EF Core 的约定
- 实体类中 Id 为主键
- 外键:实体+Id(也可以手动写外键,不冲突,需要在 DbContext 的 OnModelCreating() 添加相关配置)