mysql二进制对应ef中实体表字段类型

1、ef中设计成byte[],如下:

    /// <summary>
    /// 会员证
    /// </summary>
    public class MemberCard : AuditedEntity<Guid>
    {
        /// <summary>
        /// 企业id
        /// </summary>
        public Guid CompanyId { get; set; }

        /// <summary>
        /// 图片地址
        /// </summary>
        public byte[] ImgUrl { get; set; }
    }

使用abp中的dotnet ef migrations add AddTable_MemberCard

生成如下longblob类型

ImgUrl = table.Column<byte[]>(type: "longblob", nullable: false, comment: "证书图片url"),

using System;
using Microsoft.EntityFrameworkCore.Migrations;

#nullable disable

namespace BaseService.Migrations
{
    /// <inheritdoc />
    public partial class AddTableMemberCard : Migration
    {
        /// <inheritdoc />
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.CreateTable(
                name: "base_MemberCard",
                columns: table => new
                {
                    Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
                    CompanyId = table.Column<Guid>(type: "char(36)", nullable: false, comment: "企业id", collation: "ascii_general_ci"),
                    ImgUrl = table.Column<byte[]>(type: "longblob", nullable: false, comment: "证书图片url"),
                    CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
                    CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
                    LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true),
                    LastModifierId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_base_MemberCard", x => x.Id);
                })
                .Annotation("MySql:CharSet", "utf8mb4");
        }

        /// <inheritdoc />
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropTable(
                name: "base_MemberCard");
        }
    }
}

那咋样才能生成Blob类型的字段呢,其实可以在ef中使用HasColumnType配置字段类型,如下:

            builder.Entity<MemberCard>(b =>
            {
                b.ToTable("base_MemberCard");
                b.ConfigureByConvention();

                b.Property(t => t.CompanyId).HasColumnName("CompanyId").HasComment("企业id").IsRequired();
                b.Property(t => t.ImgUrl).HasColumnName("ImgUrl").HasComment("证书图片url").HasColumnType("Blob").IsRequired();
            });

生成的

using System;
using Microsoft.EntityFrameworkCore.Migrations;

#nullable disable

namespace BaseService.Migrations
{
    /// <inheritdoc />
    public partial class AddTableMemberCard : Migration
    {
        /// <inheritdoc />
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.CreateTable(
                name: "base_MemberCard",
                columns: table => new
                {
                    Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
                    CompanyId = table.Column<Guid>(type: "char(36)", nullable: false, comment: "企业id", collation: "ascii_general_ci"),
                    ImgUrl = table.Column<byte[]>(type: "Blob", nullable: false, comment: "证书图片url"),
                    CreationTime = table.Column<DateTime>(type: "datetime(6)", nullable: false),
                    CreatorId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci"),
                    LastModificationTime = table.Column<DateTime>(type: "datetime(6)", nullable: true),
                    LastModifierId = table.Column<Guid>(type: "char(36)", nullable: true, collation: "ascii_general_ci")
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_base_MemberCard", x => x.Id);
                })
                .Annotation("MySql:CharSet", "utf8mb4");
        }

        /// <inheritdoc />
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropTable(
                name: "base_MemberCard");
        }
    }
}

相关推荐

  1. mysql二进制对应ef实体表字类型

    2023-12-30 11:22:02       39 阅读
  2. 【八股】MySQL表字的主要数据类型有哪些?

    2023-12-30 11:22:02       19 阅读
  3. hive 创建表 字类型

    2023-12-30 11:22:02       32 阅读
  4. Mysql的各种时间类型

    2023-12-30 11:22:02       33 阅读
  5. 使用EasyExcel校验表头各字类型

    2023-12-30 11:22:02       20 阅读
  6. mysql笔记(二进制安装+使用+多实例

    2023-12-30 11:22:02       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-30 11:22:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-30 11:22:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-30 11:22:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-30 11:22:02       18 阅读

热门阅读

  1. centos 防火墙 设置 LTS

    2023-12-30 11:22:02       44 阅读
  2. Redis 笔记

    2023-12-30 11:22:02       36 阅读
  3. 小秋SLAM入门实战opencv所有文章汇总

    2023-12-30 11:22:02       34 阅读
  4. 【python】可变变量与不可变变量

    2023-12-30 11:22:02       39 阅读
  5. MIUI解BL锁+刷系统教程

    2023-12-30 11:22:02       37 阅读
  6. 基于SpringBoot的新能源充电系统

    2023-12-30 11:22:02       41 阅读