Sagen wir, ich habe drei Tabellen. Settings, Facilities und FacilitySettingOverride in einer vorhandenen Datenbank. Die Beispieldaten:Erstellen Sie POCO-Klasse in EF 7 Code zuerst
Settings table
ID Name Value
1 test1 true
2 test2 true
Facilities table
ID Name
163 Demo1
164 Demo2
FacilitySettingOverride
FacilityId SettingId Value
163 2 False
164 1 False
164 2 False
FacilitySettingOverride hat zwei Fremdschlüssel --- FacilityId und SettingId. Ich möchte auch einen zusammengesetzten Schlüssel für FacilitySettingOverride machen.
Ich weiß einfach nicht, wie man es macht. Mein primärer Code.
[Table("Settings")]
public class Setting
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public string Value { get; set; }
public FacilitySettingOverride FacilitySettingOverride { get; set; }
}
[Table("Facilities")]
public class Facility
{
[Key]
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<FacilitySettingOverride> FacilitySettingOverrides { get; set; }
}
[Table("FacilitySettingOverride")]
public class FacilitySettingOverride
{
[Key]
[ForeignKey("FacilityId")]
public int FacilityId { get; set; }
public string Value { get; set; }
[ForeignKey("SettingId")]
public int SettingId { get; set; }
public virtual Facility Facility { get; set; }
public virtual Setting Setting { get; set; }
Ich denke, dass es falsch ist. Danke für die Hilfe.
Wenn Sie eine Datenbank haben, können Sie ein Modell 'Scaffold-DbContext' Befehl erzeugen kann. Warum versuchen Sie Code zuerst zu verwenden? –
Ich kenne den Befehl nicht. –
Also ist das ein Override :) von [dieser Frage] (http://stackoverflow.com/q/37354780/861716)? –