Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

एक कस्टम कॉलम नाम के साथ एक विदेशी कुंजी मैप करना

यदि आप धाराप्रवाह सिंटैक्स का उपयोग नहीं करना चाहते हैं, तो डेटा एनोटेशन का उपयोग करके संदर्भ को लागू करने के तीन अन्य तरीके हैं (व्यक्तिगत रूप से मैं डेटा एनोटेशन पसंद करता हूं क्योंकि वे पढ़ने में आसान लगते हैं और उस संपत्ति के ठीक ऊपर लिखे जाते हैं जो वे प्रभावित कर रहे हैं):

1.1) विदेशीकी का उपयोग करें (एक संबद्ध संपत्ति के साथ) - संस्करण 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)विदेशीकी का उपयोग करें (एक संबद्ध संपत्ति के साथ) - संस्करण 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) आप InversePropertyAttribute का भी उपयोग कर सकते हैं।

[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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle डेटाबेस में Undo और Redo क्या है?

  2. Oracle में सभी तालिकाओं की सूची प्राप्त करें?

  3. IN खंड के लिए कार्य या प्रक्रिया

  4. ओरेकल लाइव एसक्यूएल

  5. मैं आर में ओरेकल डाटाबेस से कैसे जुड़ सकता हूं?