Мне кажется, как атрибут ForeignKey
не работает для меня, но я предполагаю, что я использую это неправильно;)Entity Framework Code First иностранных Ключевой вопрос
Это проще объяснить с кодом:
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; }
}
Когда я пытаюсь заполнить эти объекты с помощью метода семян, я получаю эту ошибку:
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'.
Мне кажется, как и ForeignKey
в Skill
попыток, чтобы указать на Id
BaseCards
колонка вместо BaseCardId
колонок, и я не могу понять, почему ..
Если я пытаюсь удалить «нормальное» Id
свойства BaseCard
и установите BaseCardId
в качестве PK (с атрибутом [Key]
), я получаю следующее сообщение об ошибке:
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.
кто-нибудь знает, как я могу получить этот код, чтобы работать так, свойство BaseCardId
из Skill
класса будет указывать на BaseCardId
свойство BaseCard
, вместо видимо, Id
недвижимость?
Заранее благодарен!
Почему у вас есть поля Id и BaseCardId в вашем объекте BaseCard? – Sefa
@vgSefa Я установил BaseCardId на определенное число. И Id, как я думал, автоматически генерировался. Но это должен быть конкретный номер. Можно ли установить Id на определенный номер? – Rob
@vgSefa Я попытался установить Id вместо BaseCardId на нужный мне номер, к сожалению, это не работает. – Rob