Я добавляю 2 модели, которые содержат внешний ключ. При анализе генерируемого запроса EF генерирует имя ограничения непредвиденным образом.C# Entity Framework 6 ограничение внешнего ключа в непредсказуемом формате
public class SnapAppSession
{
[Key]
public int Id { get; set; }
[MaxLength(36)]
public string AppUploadSessionHandle { get; set; }
[ForeignKey("User")]
public string UserId { get; set; }
public DateTime CreatedOn { get; set; }
public virtual ApplicationUser User { get; set; }
public virtual ICollection<SnapAppSessionsBreakdown> Breakdown { get; set; }
}
public class SnapAppSessionsBreakdown
{
[Key]
public int Id { get; set; }
[ForeignKey("SnapAppSession")]
public int SnapAppSessionId { get; set; }
public string FileName { get; set; }
public virtual SnapAppSession SnapAppSession { get; set; }
}
Ключом ограничение запроса иностранного, который генерируется является: SnapAppSession - (ожидаемое название FK_SnapAppSessions_AspNetUsers_UserId):
alter table `SnapAppSessions` add constraint `FK_SnapAppSessions_AspNetUsers_UserId` foreign key (`UserId`) references `AspNetUsers` (`Id`)
SnapAppSessionsBreakdowns - (неожиданное название FK_4342715c7ab44a358f96e48e0cce132e):
alter table `SnapAppSessionsBreakdowns` add constraint `FK_4342715c7ab44a358f96e48e0cce132e` foreign key (`SnapAppSessionId`) references `SnapAppSessions` (`Id`)
Любая причина, почему генерируемое имя происходит случайным образом? Я использую MYSQL EF, если это имеет значение.
Я думаю, что это связано с генерируемой длиной имени FK, проходящей через определенный предел. – wdosanjos