2012-12-27 16 views
7

पहले इकाई फ्रेमवर्क कोड के साथ निम्नलिखित संबंध स्थापित करने का प्रयास कर रहा है। निम्नलिखित कोड काम नहीं करता है मैंने कई बदलावों की कोशिश की है ... क्या किसी के पास कोई सुराग है?इकाई ढांचे में समग्र कुंजी के लिए विदेशी कुंजी मैपिंग

CONSTRAINT [FK_EVENT_Contact] FOREIGN KEY (Patient_ID,[Contact_ID]) REFERENCES 
[PatientContact](Patient_ID,Person_ID) 



public class PatientContact 
{ 
    [Key, Column(Order = 0)] 
    [DatabaseGenerated(DatabaseGeneratedOption.None)] 
    public int Person_ID { get; set; } 
    public virtual Person Person { get; set; } 

    [Key, Column(Order = 1)] 
    [DatabaseGenerated(DatabaseGeneratedOption.None)] 
    public int Patient_ID { get; set; } 
    public virtual Patient Patient { get; set; } 
} 

public class Event 
{ 
    [Key] 
    public int Event_ID { get; set; } 

    [Required] 
    public int EventType_ID {get;set;} 
    public virtual EventType EventType { get; set; } 

    [ForeignKey("Patient")] 
    public int Patient_ID { get; set; } 
    public virtual Patient Patient { get; set; } 

    [ForeignKey("PatientContact")] 
    public int Contact_ID { get; set; } 
    public virtual PatientContact PatientContact { get; set; } 

} 
+0

में आपका स्वागत है स्टैक ओवरफ़्लो के लिए! आप क्या त्रुटि प्राप्त कर रहे हैं? वास्तव में आप क्या हासिल करने की कोशिश कर रहे हैं? – IronMan84

उत्तर

17

आपके पास 2 विकल्प हैं।

गुणों का उपयोग करें के रूप में आप जैसे हैं:

[ForeignKey("PatientContact"), Column(Order = 0)] 
public int Person_ID{ get; set; } 
[ForeignKey("PatientContact"), Column(Order = 1)] 
public int Patient_ID{ get; set; } 
public virtual PatientContact PatientContact { get; set; } 

उपयोग मॉडल बिल्डर (धाराप्रवाह एपीआई)

modelBuilder.Entity<Event>() 
    .HasRequired(p => p.PatientContact) 
    .WithMany() 
    .HasForeignKey(p => new {p.Person_ID, p.Patient_ID}); 
संबंधित मुद्दे