【Abp VNext】实战入门(八):【1】领域层新增简单领域对象并更新到数据(CodeFirst)

前言

前面1到12篇文章基于Abp VNext 和 vue-element-admin 前后端架构相关基础功能进行了尝试和论证,接下来开始业务相关的操作。

领域建模步骤:

1、新增领域对象 商品(属性:编号、名称、创建时间)
AoRuiDe.GasMonitoring.Domain 项目根目录新增 Goods/Good.cs

namespace AoRuiDe.GasMonitoring.Goods
{
	//商品领域对象
    public class Good : Entity<int>,IHasCreationTime
    {
        public virtual string Name { get; set; }
        public DateTime CreationTime { get; set; }
    }
}

2、将Good添加到数据库上下文:
AoRuiDe.GasMonitoring.EntityFrameworkCore 项目添加数据库表操作对象

namespace AoRuiDe.GasMonitoring.EntityFrameworkCore
{    
    [ConnectionStringName("Default")]
    public class GasMonitoringDbContext : AbpDbContext<GasMonitoringDbContext>
    {
        public DbSet<AppUser> Users { get; set; }
        public DbSet<Good> Good { get; set; }//新增商品表
     }
}

3、添加自定义领域对象对应的映射到数据库表配置:
AoRuiDe.GasMonitoring.EntityFrameworkCore 项目中的GasMonitoringDbContextModelCreatingExtensions.cs

namespace AoRuiDe.GasMonitoring.EntityFrameworkCore
{
    public static class GasMonitoringDbContextModelCreatingExtensions
    {
        public static void ConfigureGasMonitoring(this ModelBuilder builder)
        {
            Check.NotNull(builder, nameof(builder));
            /* Configure your own tables/entities inside here */
            builder.Entity<Good>(b =>
            {
                b.ToTable(GasMonitoringConsts.DbTablePrefix + "Good", GasMonitoringConsts.DbSchema);
                b.ConfigureByConvention(); //auto configure for the base class props
            });
        }
    }
}

注:必须在扩展类中添加 Good对应的数据库映射配置,因为在数据库迁移项目“AoRuiDe.GasMonitoring.EntityFrameworkCore.DbMigrations” 中调用了本ConfigureGasMonitoring(this ModelBuilder builder)用来生成自定义表对应的迁移文件。

4、生成数据库迁移文件,并更新表到数据:

  1. 进入迁移文件项目目录:cd src\AoRuiDe.GasMonitoring.EntityFrameworkCore.DbMigrations
  2. 生成数据库迁移文件:dotnet ef migrations add Initial_Migrations_02
  3. 更新实体表数据到数据库:dotnet ef database update
  4. 更多操作参考Abp VNext】实战入门(一):创建项目、MsSql/MySql配置、表结构数据迁移、启动项目 第六步

总结

AoRuiDe.GasMonitoring.EntityFrameworkCore.DbMigrations 通过 builder.ConfigureGasMonitoring(); 调用 AoRuiDe.GasMonitoring.EntityFrameworkCore 项目中领域实体到数据库映射配置 生成迁移文件 ;

也可以不做配置,直接在.DbMigrations项目中重复添加public DbSet Good { get; set; } 也可生成迁移文件(不建议重复操作)
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值