(给DotNet加星标,提升.Net技能)
转自:Ron.liang
cnblogs.com/viter/p/10243577.html
前言
在 .NET Core 2.2中Microsoft.AspNetCore.App 默认内置了EntityFramework Core 包,所以在使用过程中,我们无需再从NuGet仓库单独应用 EFCore 包;
本文并不打算深入的介绍 EF Core 的各种使用方式、原理解析,本文重点在于解决让初学者在10分钟内快速使用上 EFCore 的问题。
一、Code First 方式
EFCore支持 Code First方式,这个特性允许开发人员基于业务实体模型创建数据库。
1.1、首先创建一个 Asp.NET Core WebApi 项目 Ron.MSSQL,如下:
![511d036819c5ef587a5b58ad0a278cfa.png](https://img-blog.csdnimg.cn/img_convert/511d036819c5ef587a5b58ad0a278cfa.png)
1.2、创建业务实体模型文件夹 Models,添加两个业务实体 Topic,Post
public class Topic
{
public int Id { get; set; }
public string Title { get; set; }
public string Content { get; set; }
public DateTime CreateTime { get; set; }
public virtual ICollection Posts { get; set; }
}public class Post
{
public int Id { get; set; }public int TopicId { get; set; }public string Content { get; set; }public DateTime CreateTime { get; set; }public virtual Topic Topic { get; set; }
}
上面定义的两个实体对象之间通过 Topic.Posts 和 Post.Topic 属性建立了主外键关系,这两个表的主键为 Id,且类型为 int ,这表示在下面的创建数据库过程中,EFCore 会自动的为这两个实体对象建立关系和主键,并会自动设置 Id 字段为主键标识。
1.3、编写数据库上下文对象,该对象必须继承自 DbContext