繁体   English   中英

生成意外格式的 C# Entity Framework 6 外键约束

[英]C# Entity Framework 6 foreign key constraint in an unexpected format being generated

我正在添加 2 个包含外键的模型。 在分析生成的查询时,EF 以意外的方式生成约束名称。

  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 名称长度超过特定限制有关,如MySQL 错误 #74726 中所述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM