sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man anger primärnyckelnamn i EF-Code-First

Om du vill ange kolumnnamnet och åsidosätta egenskapsnamnet kan du prova följande:

Använda kommentarer

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

Använd kod först

    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");
    }

Inside Migration Configuration

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. T-SQL villkorlig beställning av

  2. FNDCPASS &AFPASSWD

  3. mysql-transaktion - återställ alla undantag

  4. Får fel när paketet körs