.net core EntityFramework核心将更改保存到数据库中

.net core EntityFramework核心将更改保存到数据库中,.net-core,entity-framework-core,.net Core,Entity Framework Core,我正在将一些数据从一个旧数据库迁移到新数据库。首先使用fluentapi使用EF核心代码创建新数据库。 除一个表外,所有表都已成功迁移。在这个表上,当我想在数据库中保存一些更改时,我得到一个错误,即字段“Rejected”为null,即使它不是null。 该字段是整数类型 我还做了一些SQL分析,我发现由于某种原因,这个字段在Insert Into中丢失了 如果有人能帮助我理解为什么会发生这种情况,我将不胜感激 更新: public class Entries { public

我正在将一些数据从一个旧数据库迁移到新数据库。首先使用fluentapi使用EF核心代码创建新数据库。 除一个表外,所有表都已成功迁移。在这个表上,当我想在数据库中保存一些更改时,我得到一个错误,即字段“Rejected”为null,即使它不是null。 该字段是整数类型

我还做了一些SQL分析,我发现由于某种原因,这个字段在Insert Into中丢失了

如果有人能帮助我理解为什么会发生这种情况,我将不胜感激

更新:

 public class Entries
    {
    public Guid Id { get; set; }

    public DateTime CreateDateTime { get; set; }

    public int CartonBoxId { get; set; }

    public CartonBoxes CartonBox { get; set; }

    public string Status { get; set; }

    public string UserId { get; set; }

    public ApplicationUser User { get; set; }

    public int Accepted { get; set; }

    public int Rejected { get; set; }

    public DateTime? UpdateDateTime { get; set; }

    public int MasterCodeId { get; set; }

    public MasterCodes MasterCode { get; set; }

    public int SubCodeId { get; set; }

    public SubCodes SubCode { get; set; }

    public int AqlId { get; set; }

    public Aqls Aql { get; set; }

}



public DbSet<Fashions> Fashions { get; set; }
        public DbSet<AqlVersions> AqlVersions { get; set; }
        public DbSet<Aqls> Aqls { get; set; }
        public DbSet<MasterCodes> MasterCodes { get; set; }
        public DbSet<SubCodes> SubCodes { get; set; }
        public DbSet<CartonBoxes> CartonBoxes { get; set; }
        public DbSet<Entries> Entries { get; set; }

    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
        : base(options)
    {
    }

    protected override void OnModelCreating(ModelBuilder builder)
    {

        builder.Entity<ApplicationUser>(entity =>
        {
            entity.HasMany(x => x.Entries)
                .WithOne(x => x.User)
                .HasForeignKey(x => x.UserId);
        });

        builder.Entity<Fashions>(entity =>
        {
            entity.HasKey(x => x.Id);
            entity.Property(x => x.Id)
                .ValueGeneratedOnAdd();

            entity.Property(x => x.Name)
                .HasMaxLength(50)
                .IsRequired();

            entity.HasMany(x => x.Aqls)
                .WithOne(x => x.Fashion)
                .HasForeignKey(x => x.FashionId);
        });
        builder.Entity<AqlVersions>(entity =>
        {
            entity.Property(x => x.Id).ValueGeneratedOnAdd();
            entity.HasKey(x => x.Id);

            entity.Property(x => x.Name)
                .IsRequired()
                .HasMaxLength(50);

            entity.HasIndex(x => x.Name).IsUnique();

            entity.HasMany(x => x.Aqls)
                .WithOne(x => x.AqlVer)
                .HasForeignKey(x => x.AqlVerId);

        });

        builder.Entity<Aqls>(entity =>
        {
            entity.Property(x => x.Id).ValueGeneratedOnAdd();
            entity.HasKey(x => x.Id);

            entity.HasMany(x => x.Entries)
                .WithOne(x => x.Aql)
                .HasForeignKey(x => x.AqlId);

        });

        builder.Entity<MasterCodes>(entity =>
        {
            entity.Property(x => x.Id).ValueGeneratedOnAdd();
            entity.HasKey(x => x.Id);
            entity.Property(x => x.Code)
                .IsRequired()
                .HasMaxLength(50);
            entity.Property(x => x.Eng)
                .HasMaxLength(50);
            entity.Property(x => x.Srb)
                .HasMaxLength(50);

            entity.HasMany(x => x.SubCodes)
                .WithOne(x => x.MasterCodes)
                .HasForeignKey(x => x.MasterCodeId)
                .OnDelete(DeleteBehavior.Cascade);

            entity.HasMany(x => x.Entries)
                .WithOne(x => x.MasterCode)
                .HasForeignKey(x => x.MasterCodeId);

        });

        builder.Entity<SubCodes>(entity =>
        {
            entity.Property(x => x.Id).ValueGeneratedOnAdd();
            entity.HasKey(x => x.Id);
            entity.Property(x => x.Code)
                .IsRequired()
                .HasMaxLength(50);
            entity.Property(x => x.Eng)
                .HasMaxLength(50);
            entity.Property(x => x.Srb)
                .HasMaxLength(50);

            entity.HasMany(x => x.Entries)
                .WithOne(x => x.SubCode)
                .HasForeignKey(x => x.SubCodeId)
                .OnDelete(DeleteBehavior.Restrict);
        });

        builder.Entity<CartonBoxes>(entity =>
        {
            entity.HasKey(x => x.Id);
            entity.Property(x => x.Id).ValueGeneratedOnAdd();

            entity.Property(x => x.CartonBox)
                .IsRequired()
                .HasMaxLength(50);

            entity.Property(x => x.ManuallyStatus)
                .HasMaxLength(20);

            entity.Property(x => x.Sku)
                .HasMaxLength(20);

            entity.Property(x => x.Po)
                .HasMaxLength(50);

            entity.HasMany(x => x.Entries)
                .WithOne(x => x.CartonBox)
                .HasForeignKey(x => x.CartonBoxId);
        });

        builder.Entity<Entries>(entity =>
        {
            entity.HasKey(x => x.Id);
            entity.Property(x => x.Id)
                .ValueGeneratedOnAdd();
            entity.Property(x => x.Status)
                .HasMaxLength(50);

            entity.Property(x => x.UpdateDateTime)
                .IsRequired(false);

            entity.Property(x => x.Accepted)
                .HasDefaultValue();

            entity.Property(x => x.Rejected)
                .HasDefaultValue();

            entity.Property(x => x.MasterCodeId)
                .HasDefaultValue(null);
            entity.Property(x => x.SubCodeId)
                .HasDefaultValue(null);

        });

        base.OnModelCreating(builder);
公共类条目
{
公共Guid Id{get;set;}
公共日期时间CreateDateTime{get;set;}
公共int CartonBoxId{get;set;}
公共纸盒纸盒{get;set;}
公共字符串状态{get;set;}
公共字符串用户标识{get;set;}
公共应用程序用户{get;set;}
公共int接受{get;set;}
公共int被拒绝{get;set;}
公共日期时间?UpdateDateTime{get;set;}
公共int主代码ID{get;set;}
公共主代码主代码{get;set;}
公共int子码id{get;set;}
公共子代码子代码{get;set;}
公共int-AqlId{get;set;}
公共Aql Aql{get;set;}
}
公共数据库集样式{get;set;}
公共数据库集aqlversion{get;set;}
公共数据库集Aqls{get;set;}
公共数据库集主代码{get;set;}
公共数据库集子代码{get;set;}
公共DbSet纸箱{get;set;}
公共数据库集项{get;set;}
公共应用程序DBContext(DbContextOptions选项)
:基本(选项)
{
}
模型创建时受保护的覆盖无效(ModelBuilder)
{
builder.Entity(Entity=>
{
entity.HasMany(x=>x.Entries)
.WithOne(x=>x.User)
.HasForeignKey(x=>x.UserId);
});
builder.Entity(Entity=>
{
entity.HasKey(x=>x.Id);
entity.Property(x=>x.Id)
.ValueGeneratedOnAdd();
entity.Property(x=>x.Name)
.HasMaxLength(50)
.IsRequired();
entity.HasMany(x=>x.Aqls)
.WithOne(x=>x.Fashion)
.HasForeignKey(x=>x.FashionId);
});
builder.Entity(Entity=>
{
Property(x=>x.Id).ValueGeneratedOnAdd();
entity.HasKey(x=>x.Id);
entity.Property(x=>x.Name)
.IsRequired()
.HasMaxLength(50);
entity.HasIndex(x=>x.Name).IsUnique();
entity.HasMany(x=>x.Aqls)
.带一个(x=>x.AqlVer)
.HasForeignKey(x=>x.AqlVerId);
});
builder.Entity(Entity=>
{
Property(x=>x.Id).ValueGeneratedOnAdd();
entity.HasKey(x=>x.Id);
entity.HasMany(x=>x.Entries)
.有一个(x=>x.Aql)
.HasForeignKey(x=>x.AqlId);
});
builder.Entity(Entity=>
{
Property(x=>x.Id).ValueGeneratedOnAdd();
entity.HasKey(x=>x.Id);
entity.Property(x=>x.Code)
.IsRequired()
.HasMaxLength(50);
entity.Property(x=>x.Eng)
.HasMaxLength(50);
entity.Property(x=>x.Srb)
.HasMaxLength(50);
entity.HasMany(x=>x.subcode)
.带一个(x=>x.主代码)
.HasForeignKey(x=>x.MasterCodeId)
.OnDelete(DeleteBehavior.Cascade);
entity.HasMany(x=>x.Entries)
.WithOne(x=>x.MasterCode)
.HasForeignKey(x=>x.MasterCodeId);
});
builder.Entity(Entity=>
{
Property(x=>x.Id).ValueGeneratedOnAdd();
entity.HasKey(x=>x.Id);
entity.Property(x=>x.Code)
.IsRequired()
.HasMaxLength(50);
entity.Property(x=>x.Eng)
.HasMaxLength(50);
entity.Property(x=>x.Srb)
.HasMaxLength(50);
entity.HasMany(x=>x.Entries)
.WithOne(x=>x.SubCode)
.HasForeignKey(x=>x.SubCodeId)
.OnDelete(DeleteBehavior.Restrict);
});
builder.Entity(Entity=>
{
entity.HasKey(x=>x.Id);
Property(x=>x.Id).ValueGeneratedOnAdd();
Property(x=>x.CartonBox)
.IsRequired()
.HasMaxLength(50);
Property(x=>x.ManuallyStatus)
.HasMaxLength(20);
entity.Property(x=>x.Sku)
.HasMaxLength(20);
entity.Property(x=>x.Po)
.HasMaxLength(50);
entity.HasMany(x=>x.Entries)
.带一个(x=>x.CartonBox)
.HasForeignKey(x=>x.CartonBoxId);
});
builder.Entity(Entity=>
{
entity.HasKey(x=>x.Id);
entity.Property(x=>x.Id)
.ValueGeneratedOnAdd();
entity.Property(x=>x.Status)
.HasMaxLength(50);
属性(x=>x.UpdateDateTime)
.i被要求(虚假);
entity.Property(x=>x.Accepted)
.HasDefaultValue();
entity.Property(x=>x.Rejected)
.HasDefaultValue();
Property(x=>x.MasterCodeId)
.HasDefaultValue(空);
entity.Property(x=>x.SubCodeId)
.HasDefaultValue(空);
});
基于模型创建(生成器);

问题是
hasdaultvalue

entity.Property(x => x.Rejected)
                .HasDefaultValue();
当属性值等于默认值speci时,EF Core不会包含在用
HasDefaultValue
标记的insert命令属性中