C# 一对一关系首先在实体框架代码中失败
我正在尝试先构建一对一的关系EF v4.1代码。这是我的代码:C# 一对一关系首先在实体框架代码中失败,c#,entity-framework,entity-framework-4.1,ef-code-first,code-first,C#,Entity Framework,Entity Framework 4.1,Ef Code First,Code First,我正在尝试先构建一对一的关系EF v4.1代码。这是我的代码: public class System { [Key, ForeignKey("Station") ] public int Id { get; set; } [DisplayName("Last Polled")] public DateTime? LastPolledOn { get; set; } public virtual Station Station { get; set;
public class System
{
[Key, ForeignKey("Station") ]
public int Id { get; set; }
[DisplayName("Last Polled")]
public DateTime? LastPolledOn { get; set; }
public virtual Station Station { get; set; }
}
public class Station
{
public int Id { get; set; }
public int Status { get; set; }
public string FullName
{
get
{
return StoreNumber + " - " + StoreName;
}
}
public virtual System System{ get; set; }
}
这可以正常工作,但当我删除站点时,会出现级联删除错误:
“无法删除主键值,因为对此键的引用仍然存在。[外键约束名称=系统\u站]”}”
我该怎么解决这个问题呢?正如错误消息告诉您的,仍然存在与
站点的外键关系,因此请使用级联删除或先删除系统中的相关行。系统的主键也是站点的外键。如果删除站点,则需要删除系统first。你也可以使用级联删除。比我快了一分钟。我太慢了!@Phil:你不知道在这么长的时间里,这种情况发生在我身上的频率有多高,因为这里有很多“快速打字机”" ;-)...我理解您的第二种方法,即首先手动删除系统。但是如何使用级联删除?我需要在代码中进行哪些更改?谢谢chrfin。@Anthony:我不是EF用户,所以我不能帮你,但请查看以下链接:嗨,Phil,我如何使用级联删除。我需要在代码中做哪些更改?