领域层: LearningMpaAbp.Core项目 基础服务层:EntityFramework对应的项目
1 在领域层新建Tasks文件夹 在文件夹下新建Task类
但是注意 Task类必须要继承Entity类,Entity类又实现了IEntity接口 和 IEntity<int>接口 其中 IEntity<int>里面定义了TPrimaryKey类型主键 这使得这个Task类的主键为int型
一个任务 我们还要给他添加一个 创建时间属性 我们正好可以让他实现 IHasCreationTime 接口 报这个有这个属性
另外我们还可以弄一些主外键
2 进入基础服务层
找到DbContext类 添加代码:
//TODO: Define an IDbSet for your Entities...
public IDbSet<Task> Tasks { get; set; }
3 Code First数据迁移
打开程序包管理器控制台,默认项目选择Entityframework对应的项目后。执行
Add-Migration Add_Task_Entity
会在Migrations文件夹下创建 时间_Add_Task_Entity
格式的类文件 此外我们会发现Migrations文件夹下有个SeedData文件夹 我们可以参照已有类的写法,来预置两条Task。创建DefaultTestDataForTask
类
然后在Configuration
类中的Seed
方法中,添加以下代码。
new DefaultTestDataForTask(context).Create();
在程序包管理器控制台,输入Update-Database
,回车执行迁移。执行成功后,查看数据库,Tasks表创建成功,且表中已存在两条测试数据。