Всем привет!
Пытаюсь внести изменения в базу данных средствами entity framework.
Версия фреймворка 7.0.3
Есть 2 класса которые связаны с таблицами.
1й
[Table("OrganizationControl")]
public class OrganizationControl : CreationAuditedEntity, IMayHaveTenant, ISoftDelete
{
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual int? UserId { get; set; }
public virtual bool IsDeleted { get; set; }
и 2й
[Table("RiskLevels")]
public class RiskLevel : CreationAuditedEntity, IMayHaveTenant, ISoftDelete
{
public int? UserId { get; set; }
public virtual int OrganizationControlId { get; set; }
[ForeignKey("OrganizationControlId")]
public OrganizationControl OrganizationControlFk { get; set; }
public virtual string Description { get; set; }
public virtual string ExtendDescription { get; set; }
public virtual int ControlTypeId { get; set; }
[ForeignKey("ControlTypeId")]
public ControlType ControlTypeFk { get; set; }
public bool IsDeleted { get; set; }
}
Так вот, изменения которые я внес это
public virtual int OrganizationControlId { get; set; }
[ForeignKey("OrganizationControlId")]
public OrganizationControl OrganizationControlFk { get; set; }
То есть, я пытаюсь добавить ссылку на таблицу OrganizationControl из таблицы RiskLevels через добавленное свойство OrganizationControlId.
Миграция создается. Но процедура dotnet ef database update заканчивается ошибкой.
23503: INSERT или UPDATE в таблице "RiskLevels" нарушает ограничение внешнего ключа "FK_RiskLevels_OrganizationControl~"
DETAIL: Ключ (OrganizationControlId)=(0) отсутствует в таблице "OrganizationControl".
Это как понимать?
Ключа OrganizationControlId в таблице OrganizationControl" в принципе быть не должно, там же просто Id есть.