sql >> Database >  >> RDS >> Sqlserver

Hoe de primaire sleutelnaam te specificeren in EF-Code-First

Als u de kolomnaam wilt specificeren en de eigenschapnaam wilt overschrijven, kunt u het volgende proberen:

Annotaties gebruiken

public class Job
{
    [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Column("CustomIdName")]
    public Guid uuid { get; set; }
    public int active { get; set; }
}

Eerst code gebruiken

    protected override void OnModelCreating(DbModelBuilder mb)
    {
        base.OnModelCreating(mb);

        mb.Entity<Job>()
            .HasKey(i => i.uuid);
        mb.Entity<Job>()
          .Property(i => i.uuid)
          .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity)
          .HasColumnName("CustomIdName");
    }

Interne migratieconfiguratie

public partial class ChangePrimaryKey : DbMigration
{
    public override void Up()
    {
        Sql(@"exec sp_rename 'SchemaName.TableName.IndexName', 'New_IndexName', 'INDEX'");
    }

    public override void Down()
    {
        Sql(@"exec sp_rename 'SchemaName.TableName.New_IndexName', 'Old_IndexName', 'INDEX'");
    }
}


  1. Hoe ERROR 1130 (HY000) op te lossen:Host mag geen verbinding maken met deze MySQL-server

  2. Een andere manier om automatische updates van statistieken te bekijken

  3. Moet ik een klasse maken die SQLiteOpenHelper erft voor elke tabel in mijn database?

  4. Beste DBaaS-oplossingen voor PostgreSQL