.NET项目使用EF+Migration及字段备注注释

这篇博客介绍了如何使用Entity Framework Core (EF Core) 和 Npgsql.EntityFrameworkCore.PostgreSQL 扩展来与PostgreSQL数据库交互。步骤包括安装必要的Nuget包,定义实体类,创建数据库上下文,API项目中的依赖注入,以及通过Package Manager Console执行迁移操作来生成和更新数据库结构。
摘要由CSDN通过智能技术生成

1.安装依赖包

实体项目添加nuget引用

Microsoft.EntityFrameworkCore   ef包

Npgsql.EntityFrameworkCore.PostgreSQL   PostgreSQL包(对应数据库安装对应包)


api项目添加nuget引用

Microsoft.EntityFrameworkCore.Tools   ef工具包

2.添加实体 ,例:

!!!!生成数据库的时候实体类型记得限制字段长度及添加主键标识!!!!

注意Comment[] 标签生成表或数据库时为对应备注

/// <summary>
    /// 用户表
    /// </summary>
    [SugarTable("srm_user")]
    public class UserEntity : CommonEntity
    {
        /// <summary>
        /// 唯一ID
        /// </summary>
        [SugarColumn(IsPrimaryKey = true, ColumnDescription = "唯一ID", ColumnName = "id")]
        [Column("id")]
        public string Id { get; set; }

        /// <summary>
        /// 姓名
        /// </summary>
        [SugarColumn(ColumnDescription = "姓名", ColumnName = "user_name")]
        [Column("user_name")]
        [Comment("姓名")]
        public string UserName { get; set; }
        }

3.实体项目中添加数据库上下文对象 BaseDbContext

  public class BaseDbContext : DbContext
    {
        public BaseDbContext([NotNull] DbContextOptions options) : base(options)
        {
        }

        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            string connectionStr = AppSettingsHelper.GetSetting("ConnectionString");
            optionsBuilder.UseNpgsql(connectionStr);
            base.OnConfiguring(optionsBuilder);
        }
        //每次新建表新增对应实体对象
        public DbSet<UserEntity> User { get; set; }
    }

4.API项目ConfigureServices中注入对应数据库上下文

        //数据库上下文注入
            services.AddDbContext<BaseDbContext>();

5.执行migration

打开视图>其他窗口>程序包管理控制台

当前启动项为api项目(安装ef工具包项目),程序包管理控制台默认项目为实体项目(上下文对象项目)

add-migration  name(版本文件名称)

update-database    执行最新migration文件(可添加name执行对应版本文件)

Remove-Migration   回滚删除migration文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值