Это мои модельные классы:
public class Organization
{
public Organization()
{
}
[DisplayName("Organization Id")]
public int OrganizationId { get; set; }
[StringLength(128)]
[DisplayName("Organization Name")]
public string Name { get; set; }
}
public class User
{
public User()
{
Roles = new List<Role>();
}
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Key]
public Guid UserGuid { get; set; }
[StringLength(25)]
public string FirstName { get; set; }
[StringLength(25)]
public string LastName { get; set; }
public virtual List<Role> Roles { get; set; }
public int OrganizationId { get; set; }
[ForeignKey("OrganizationId")]
public virtual Organization Organization { get; set; }
}
Это мой код:
Organization organization = new Organization { Name = "Test", };
context.Organizations.Add(organization);
И я получаю это:
Оператор INSERT конфликтовал с ограничением FOREIGN KEY
\ "Organization_Users \". Конфликт произошел в базе данных
\ "SampleDB \", таблица \ "dbo.Organizations \", столбец
'OrganizationId'. \ R \ nОпределение прекращено.
Разве это не странно? Я просто добавляю организацию. Какая проблема может быть в этом?
P.S: Моя таблица пользователей имеет OrganizationId
, который является внешним ключом и указывает на таблицу Organization
Пока все хорошо, но почему выбрасывается исключение? Я добавляю основную запись Organization
. Как это нарушает ограничение внешнего ключа?