sql >> Database >  >> RDS >> Oracle

Een externe sleutel toewijzen aan een aangepaste kolomnaam

Als u geen vloeiende syntaxis wilt gebruiken, zijn er drie andere manieren om de verwijzing te implementeren met behulp van gegevensannotaties (persoonlijk geef ik de voorkeur aan gegevensannotaties omdat ze gemakkelijker te lezen lijken en net boven de eigenschap worden geschreven die ze beïnvloeden):

1.1)Gebruik ForeignKey (met een bijbehorende eigenschap) - versie 1

[Table("WIDGETENTITIES")]
public class WidgetEntity {

    [Column("WIDGETENTITY_ID")]
    public int Id { get; set; }

    [Column("WIDGETSEQUENCE_ID")]
    public int WidgetSequenceId { get; set; }

    [ForeignKey("WidgetSequenceId")] //Has to be a property name, not table column name
    public WidgetSequence Sequence { get; set; }

    // and other properties that map correctly
}

[Table("WIDGETSEQUENCES")]
public class WidgetSequence { 

    [Column("WIDGETSEQUENCE_ID")]
    public int Id { get; set; }

    [Column("NUMBER")]
    public int Number { get; set; }
}

1.2)Gebruik ForeignKey (met een bijbehorende eigenschap) - versie 2

[Table("WIDGETENTITIES")]
public class WidgetEntity {

    [Column("WIDGETENTITY_ID")]
    public int Id { get; set; }

    [ForeignKey("Sequence")] //Has to be a property name, not table column name
    [Column("WIDGETSEQUENCE_ID")]
    public int WidgetSequenceId { get; set; }

    public WidgetSequence Sequence { get; set; }

    // and other properties that map correctly
}

[Table("WIDGETSEQUENCES")]
public class WidgetSequence { 

    [Column("WIDGETSEQUENCE_ID")]
    public int Id { get; set; }

    [Column("NUMBER")]
    public int Number { get; set; }
}

2)U kunt ook het InversePropertyAttribute gebruiken.

[Table("WIDGETENTITIES")]
public class WidgetEntity {

    [Column("WIDGETENTITY_ID")]
    public int Id { get; set; }

    [InverseProperty("WidgetEntities")]
    public WidgetSequence Sequence { get; set; }

    // and other properties that map correctly
}

[Table("WIDGETSEQUENCES")]
public class WidgetSequence { 

    [Column("WIDGETSEQUENCE_ID")]
    public int Id { get; set; }

    [Column("NUMBER")]
    public int Number { get; set; }

    public virtual List<WidgetEntity> WidgetEntities { get; set; }
}


  1. MySQL integreren met Python in Windows

  2. Hoe maak je een snelkoppeling voor SSMS en maak je automatisch verbinding met de standaard SQL-server - SQ:Server / TSQL-zelfstudie, deel 4

  3. Rails Console vindt gebruikers op reeks id's

  4. SQL SELECTEER MIN