我觉得ForeignKey
属性对我来说好像不起作用,但我猜测我的使用方法可能有误 ;)
通过代码更容易理解:
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; }
}
当我尝试使用seed方法填充这些对象时,我遇到了以下错误: “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'.”
在我的看来,在中的尝试指向的列而不是列,但我无法找出原因。
如果我尝试删除的“normal”属性,并将设置为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.”
有人知道如何使此代码工作,以便类中的属性将指向的属性,而不是显然的属性吗?
提前感谢!