簡體   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