Проблема при скаффолдинге таблицы AspnetUser - PullRequest
0 голосов
/ 31 октября 2019

Я должен выставить в таблице только для чтения AspNetUser. Я пытаюсь защитить его, решил проблему со связанной таблицей во время процесса, и теперь я получаю следующую ошибку:

Невозможно использовать сущность «AspNetUsers» для типа сущности «AspNetUsers», так как используется для типа сущности'ApplicationUser' и нет никакой связи между их первичным ключом.

Прилагается к фрагменту моего файла контекста:

public partial class ebbxdbContext : IdentityDbContext<ApplicationUser>
{
    public ebbxdbContext()
    {
    }

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

    public virtual DbSet<ActivityLog> ActivityLog { get; set; }
    public virtual DbSet<Addresses> Addresses { get; set; }
    public virtual DbSet<City> City { get; set; }
    public virtual DbSet<Customers> Customers { get; set; }
    public virtual DbSet<DeviceSetup> DeviceSetup { get; set; }
    public virtual DbSet<Devices> Devices { get; set; }
    public virtual DbSet<Districts> Districts { get; set; }
    public virtual DbSet<LanguageRes> LanguageRes { get; set; }
    public virtual DbSet<Nations> Nations { get; set; }
    public virtual DbSet<Partners> Partners { get; set; }
    public virtual DbSet<Products> Products { get; set; }
    public virtual DbSet<Provinces> Provinces { get; set; }
    public virtual DbSet<SubsRows> SubsRows { get; set; }
    public virtual DbSet<Subscriptions> Subscriptions { get; set; }
    public virtual new DbSet<Users> Users { get; set; }
    public virtual DbSet<WfmacroSteps> WfmacroSteps { get; set; }
    public virtual DbSet<Wfstates> Wfstates { get; set; }
    public virtual DbSet<Wfsteps> Wfsteps { get; set; }
    public virtual DbSet<Wftemplates> Wftemplates { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);

        modelBuilder.HasAnnotation("ProductVersion", "2.2.4-servicing-10062");

        modelBuilder.Entity<AspNetUserLogins>()
            .HasKey(c => new { c.LoginProvider, c.ProviderKey, c.UserId });

        modelBuilder.Entity<AspNetUserRoles>()
            .HasKey(c => new { c.UserId, c.RoleId });

        modelBuilder.Entity<ActivityLog>(entity =>
        {
            entity.Property(e => e.ActivityLogId)
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.ActivityLogTypeId).HasColumnType("numeric(18, 0)");

            entity.Property(e => e.Comment)
                .IsRequired()
                .HasMaxLength(500);

            entity.Property(e => e.CreatedOnUtc).HasColumnType("datetime");

            entity.Property(e => e.IpAddress).HasMaxLength(200);

            entity.Property(e => e.UserId)
                .IsRequired()
                .HasMaxLength(500);
        });

        modelBuilder.Entity<Addresses>(entity =>
        {
            entity.HasKey(e => e.AddressId);

            entity.Property(e => e.AddressId)
                .HasColumnName("AddressID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.AddressUi)
                .HasColumnName("AddressUI")
                .HasDefaultValueSql("(newid())");

            entity.Property(e => e.Building).HasMaxLength(50);

            entity.Property(e => e.City).HasMaxLength(100);

            entity.Property(e => e.CityId)
                .HasColumnName("CityID")
                .HasColumnType("numeric(18, 0)")
                .HasDefaultValueSql("((0))");

            entity.Property(e => e.CustomerGivenName).HasMaxLength(50);

            entity.Property(e => e.CustomerId)
                .HasColumnName("CustomerID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.DistrictId)
                .HasColumnName("DistrictID")
                .HasColumnType("numeric(18, 0)")
                .HasDefaultValueSql("((0))");

            entity.Property(e => e.Fed)
                .HasColumnName("FED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Feip)
                .HasColumnName("FEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Feu)
                .HasColumnName("FEU")
                .HasMaxLength(50);

            entity.Property(e => e.Floor).HasMaxLength(5);

            entity.Property(e => e.Idwfstate).HasColumnName("IDWFState");

            entity.Property(e => e.Led)
                .HasColumnName("LED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Leip)
                .HasColumnName("LEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Leu)
                .HasColumnName("LEU")
                .HasMaxLength(50);

            entity.Property(e => e.Nation).HasMaxLength(5);

            entity.Property(e => e.NationId)
                .HasColumnName("NationID")
                .HasColumnType("numeric(18, 0)")
                .HasDefaultValueSql("((0))");

            entity.Property(e => e.Notes).HasMaxLength(1000);

            entity.Property(e => e.Number).HasMaxLength(10);

            entity.Property(e => e.Province).HasMaxLength(10);

            entity.Property(e => e.ProvinceId)
                .HasColumnName("ProvinceID")
                .HasColumnType("numeric(18, 0)")
                .HasDefaultValueSql("((0))");

            entity.Property(e => e.District).HasMaxLength(50);

            entity.Property(e => e.Room).HasMaxLength(5);

            entity.Property(e => e.Street1).HasMaxLength(255);

            entity.Property(e => e.Street2).HasMaxLength(255);

            entity.Property(e => e.ZipCode).HasMaxLength(20);

            entity.HasOne(d => d.Customer)
                .WithMany(p => p.Addresses)
                .HasForeignKey(d => d.CustomerId)
                .HasConstraintName("FK_Addresses_Customers");
        });

        modelBuilder.Entity<City>(entity =>
        {
            entity.Property(e => e.CityId)
                .HasColumnName("CityID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.Description).HasMaxLength(100);

            entity.Property(e => e.ProvinceCode).HasMaxLength(2);

            entity.Property(e => e.ZipCode).HasMaxLength(5);
        });

        modelBuilder.Entity<Customers>(entity =>
        {
            entity.HasKey(e => e.CustomerId);

            entity.Property(e => e.CustomerId)
                .HasColumnName("CustomerID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.BillingAddressId)
                .HasColumnName("BillingAddressID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.CompanyName).HasMaxLength(255);

            entity.Property(e => e.CustomerUi)
                .HasColumnName("CustomerUI")
                .HasDefaultValueSql("(newid())");

            entity.Property(e => e.Fed)
                .HasColumnName("FED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Feip)
                .HasColumnName("FEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Feu)
                .HasColumnName("FEU")
                .HasMaxLength(50);

            entity.Property(e => e.FiscalCode).HasMaxLength(50);

            entity.Property(e => e.Idwfstate).HasColumnName("IDWFState");

            entity.Property(e => e.Led)
                .HasColumnName("LED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Leip)
                .HasColumnName("LEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Leu)
                .HasColumnName("LEU")
                .HasMaxLength(50);

            entity.Property(e => e.Name).HasMaxLength(255);

            entity.Property(e => e.ShippingAddressId)
                .HasColumnName("ShippingAddressID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.Surname).HasMaxLength(255);
        });

        modelBuilder.Entity<DeviceSetup>(entity =>
        {
            entity.Property(e => e.DeviceSetupId)
                .HasColumnName("DeviceSetupID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.AddressId)
                .HasColumnName("AddressID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.DeliveryPointUi)
                .HasColumnName("DeliveryPointUI")
                .HasDefaultValueSql("(newid())");

            entity.Property(e => e.DeviceId)
                .HasColumnName("DeviceID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.Fed)
                .HasColumnName("FED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Feip)
                .HasColumnName("FEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Feu)
                .HasColumnName("FEU")
                .HasMaxLength(50);

            entity.Property(e => e.Idwfstate).HasColumnName("IDWFState");

            entity.Property(e => e.Led)
                .HasColumnName("LED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Leip)
                .HasColumnName("LEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Leu)
                .HasColumnName("LEU")
                .HasMaxLength(50);

            entity.Property(e => e.UserGivenName).HasMaxLength(255);

            entity.Property(e => e.ValidFrom).HasColumnType("datetime");

            entity.Property(e => e.ValidTo).HasColumnType("datetime");

            entity.HasOne(d => d.Address)
                .WithMany(p => p.DeviceSetup)
                .HasForeignKey(d => d.AddressId)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("FK_DeviceSetup_Addresses");

            entity.HasOne(d => d.Device)
                .WithMany(p => p.DeviceSetup)
                .HasForeignKey(d => d.DeviceId)
                .HasConstraintName("FK_DeviceSetup_Devices");
        });

        modelBuilder.Entity<Devices>(entity =>
        {
            entity.HasKey(e => e.DeviceId);

            entity.HasIndex(e => e.SerialNo)
                .IsUnique();

            entity.Property(e => e.DeviceId)
                .HasColumnName("DeviceID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.ChiaviDiAzure).HasMaxLength(10);

            entity.Property(e => e.DeviceBatch)
                .HasMaxLength(50)
                .IsUnicode(false);

            entity.Property(e => e.DeviceMtype)
                .HasColumnName("DeviceMType")
                .HasMaxLength(10);

            entity.Property(e => e.DeviceUi)
                .HasColumnName("DeviceUI")
                .HasDefaultValueSql("(newid())");

            entity.Property(e => e.Fed)
                .HasColumnName("FED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Feip)
                .HasColumnName("FEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Feu)
                .HasColumnName("FEU")
                .HasMaxLength(50);

            entity.Property(e => e.Idwfstate).HasColumnName("IDWFState");

            entity.Property(e => e.Led)
                .HasColumnName("LED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Leip)
                .HasColumnName("LEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Leu)
                .HasColumnName("LEU")
                .HasMaxLength(50);

            entity.Property(e => e.ModelId)
                .HasColumnName("ModelID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.SelfDeviceId)
                .HasColumnName("SelfDeviceID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.SerialNo).HasMaxLength(100);

            entity.HasOne(d => d.IdwfstateNavigation)
                .WithMany(p => p.Devices)
                .HasForeignKey(d => d.Idwfstate)
                .HasConstraintName("FK_Devices_WFStates");
        });

        modelBuilder.Entity<Districts>(entity =>
        {
            entity.HasKey(e => e.DistrictId)
                .HasName("PK_Districts_1");

            entity.Property(e => e.DistrictId)
                .HasColumnName("DistrictID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.Description).HasMaxLength(255);

            entity.Property(e => e.NationId)
                .HasColumnName("NationID")
                .HasColumnType("numeric(18, 0)");

            entity.HasOne(d => d.Nation)
                .WithMany(p => p.Districts)
                .HasForeignKey(d => d.NationId)
                .OnDelete(DeleteBehavior.ClientSetNull)
                .HasConstraintName("FK_Districts_Nations");
        });

        modelBuilder.Entity<LanguageRes>(entity =>
        {
            entity.HasKey(e => e.ResId);

            entity.Property(e => e.ResId)
                .HasColumnName("ResID")
                .HasMaxLength(50)
                .ValueGeneratedNever();

            entity.Property(e => e.Description).IsUnicode(false);

            entity.Property(e => e.Isolanguage)
                .HasColumnName("ISOLanguage")
                .HasMaxLength(3)
                .IsUnicode(false);
        });

        modelBuilder.Entity<Nations>(entity =>
        {
            entity.HasKey(e => e.NationId);

            entity.Property(e => e.NationId)
                .HasColumnName("NationID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.Description).HasMaxLength(255);

            entity.Property(e => e.IsoCode2).HasMaxLength(2);

            entity.Property(e => e.IsoCode3).HasMaxLength(3);
        });

        modelBuilder.Entity<Partners>(entity =>
        {
            entity.HasKey(e => e.PartnerId);

            entity.Property(e => e.PartnerId)
                .HasColumnName("PartnerID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.ActiveFrom).HasColumnType("date");

            entity.Property(e => e.ActiveTo).HasColumnType("date");

            entity.Property(e => e.Description).HasMaxLength(255);

            entity.Property(e => e.FiscalCode).HasMaxLength(50);

            entity.Property(e => e.Nation).HasMaxLength(5);

            entity.Property(e => e.PartnerUi).HasColumnName("PartnerUI");
        });

        modelBuilder.Entity<Products>(entity =>
        {
            entity.HasKey(e => e.ProductId);

            entity.Property(e => e.ProductId)
                .HasColumnName("ProductID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.Crmpk)
                .HasColumnName("CRMPK")
                .HasMaxLength(50)
                .IsUnicode(false);

            entity.Property(e => e.Ecspk)
                .HasColumnName("ECSPK")
                .HasMaxLength(50)
                .IsUnicode(false);

            entity.Property(e => e.Erppk)
                .HasColumnName("ERPPK")
                .HasMaxLength(50)
                .IsUnicode(false);

            entity.Property(e => e.Idwfstate).HasColumnName("IDWFState");

            entity.Property(e => e.Idwftemplate).HasColumnName("IDWFTemplate");

            entity.Property(e => e.Name).HasMaxLength(100);

            entity.Property(e => e.Ot1pk)
                .HasColumnName("OT1PK")
                .HasMaxLength(50)
                .IsUnicode(false);

            entity.Property(e => e.Ot2pk)
                .HasColumnName("OT2PK")
                .HasMaxLength(50)
                .IsUnicode(false);

            entity.Property(e => e.ProductUi)
                .HasColumnName("ProductUI")
                .HasDefaultValueSql("(newid())");

            entity.Property(e => e.Sku)
                .HasColumnName("SKU")
                .HasMaxLength(10);

            entity.Property(e => e.ValidFrom).HasColumnType("datetime");

            entity.Property(e => e.ValidTo).HasColumnType("datetime");

            entity.HasOne(d => d.IdwfstateNavigation)
                .WithMany(p => p.Products)
                .HasForeignKey(d => d.Idwfstate)
                .HasConstraintName("FK_Products_WFStates");
        });




        modelBuilder.Entity<Users>(entity =>
        {
            entity.HasKey(e => e.UserId);

            entity.HasIndex(e => e.UserUid)
                .IsUnique();

            entity.Property(e => e.UserId)
                .HasColumnName("UserID")
                .HasColumnType("numeric(18, 0)")
                .ValueGeneratedOnAdd();

            entity.Property(e => e.CellPhone).HasMaxLength(12);

            entity.Property(e => e.CustomerId)
                .HasColumnName("CustomerID")
                .HasColumnType("numeric(18, 0)");

            entity.Property(e => e.Email)
                .HasColumnName("EMail")
                .HasMaxLength(100);

            entity.Property(e => e.AlexaAccessToken)
                .HasColumnName("AlexaAccessToken")
                .HasMaxLength(500);

            entity.Property(e => e.Fed)
                .HasColumnName("FED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Feip)
                .HasColumnName("FEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Feu)
                .HasColumnName("FEU")
                .HasMaxLength(50);

            entity.Property(e => e.Isolanguage)
                .HasColumnName("ISOLanguage")
                .HasMaxLength(10);

            entity.Property(e => e.Led)
                .HasColumnName("LED")
                .HasColumnType("datetime")
                .HasDefaultValueSql("(getdate())");

            entity.Property(e => e.Leip)
                .HasColumnName("LEIP")
                .HasMaxLength(40)
                .IsUnicode(false);

            entity.Property(e => e.Leu)
                .HasColumnName("LEU")
                .HasMaxLength(50);

            entity.Property(e => e.Password).HasMaxLength(500);

            entity.Property(e => e.Salutation)
                .HasMaxLength(10)
                .IsUnicode(false);

            entity.Property(e => e.StateIdwf).HasColumnName("StateIDWF");

            entity.Property(e => e.UserType).HasMaxLength(1);

            entity.Property(e => e.UserUi)
                .HasColumnName("UserUI")
                .HasDefaultValueSql("(newid())");

            entity.Property(e => e.UserUid)
                .IsRequired()
                .HasColumnName("UserUID")
                .HasMaxLength(50);

            entity.HasOne(d => d.Customer)
                .WithMany(p => p.Users)
                .HasForeignKey(d => d.CustomerId)
                .HasConstraintName("FK_Users_Customers");
        });






    }
}

Как я могу решить эту проблему?

Спасибо,

Симона

...