Я должен выставить в таблице только для чтения 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");
});
}
}
Как я могу решить эту проблему?
Спасибо,
Симона