Es scheint mir, wie das ForeignKey
Attribut ist für mich nicht funktioniert, aber ich denke, ich verwende es falsch;)Entity Framework-Code Erste Fremdschlüssel Ausgabe
Es ist einfacher, mit dem Code zu erklären:
public class BaseCard
{
public int Id {get ; set; }
public int BaseCardId { get; set; }
public List<Skill> Skills { get; set; }
}
public class Skill
{
public int Id { get; set; }
public int BaseCardId { get; set; }
[ForeignKey("BaseCardId")]
public BaseCard BaseCard { get; set; }
}
Wenn ich versuche, diese Objekte mit dem Samen Methode zu füllen, ich diesen Fehler:
INSERT statement conflicted with the FOREIGN KEY constraint "FK_dbo.Skills_dbo.BaseCards_BaseCardId". The conflict occurred in database "Database", table "dbo.BaseCards", column 'Id'.
Es scheint mir, wie die ForeignKey
in Skill
Versuche an der Id
Spalte von BaseCards
anstelle der BaseCardId
Spalte zu zeigen, und ich kann nicht herausfinden, warum ..
Wenn ich versuche, die „normale“ Id
Eigenschaft BaseCard
zu entfernen, und stellen Sie die BaseCardId
als die PK (mit dem Attribute [Key]
), erhalte ich folgende Fehlermeldung:
Store update, insert, or delete statement affected an unexpected number of rows (0). Entities may have been modified or deleted since entities were loaded. Refresh ObjectStateManager entries.
Wer weiß, wie ich diesen Code bekommen zu arbeiten, damit die Eigenschaft BaseCardId
von der Skill
Klasse zur BaseCardId
Eigenschaft BaseCard
zeigen wird, statt anscheinend die Id
Eigentum?
Vielen Dank im Voraus!
sehen, warum Sie Id und BaseCardId Felder in Ihrem BaseCard-Objekt haben? – Sefa
@vgSefa Ich setze die BaseCardId auf eine bestimmte Nummer. Und die ID, dachte ich, wurde automatisch generiert. Aber es muss eine bestimmte Nummer sein. Ist es möglich, die ID auf eine bestimmte Nummer zu setzen? – Rob
@vgSefa Ich habe versucht, die ID anstelle der BaseCardId auf die Nummern, die ich benötige, zu setzen, leider funktioniert das nicht. – Rob