【发布时间】:2015-07-10 21:43:28
【问题描述】:
我收到一个间歇性错误
保存不为其关系公开外键属性的实体时出错
我相信这可能是因为我没有在我的实体框架数据库层中正确定义我的关系。
我已经定义了一个具有 1:1 关系的表:
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public FinalisedServices Service { get; set; }
其中 SpproFinalisedServices 是外键。我应该这样写吗:
public int FinalisedSerivce_Id { get; set; }
[ForeignKey("FinalisedSerivce_Id")]
public FinalisedServices Service { get; set; }
或者添加虚拟就足够了:
public virtual FinalisedServices Service { get; set; }
我最初认为实体框架会在后台处理数据库外键。
【问题讨论】:
-
你看过内部异常了吗?这(通常)准确地显示了 EF 存在问题的实体和关系。这应该有助于诊断问题。
-
问题只发生在实时系统上。我也需要标记内部异常,但希望在它再次发生之前解决它
标签: c# asp.net-mvc entity-framework