gpt4 book ai didi

sql-server - 如何调试Entity Framework Code First数据库部署错误?

转载 作者:行者123 更新时间:2023-12-03 04:28:40 27 4
gpt4 key购买 nike

如何调试 Entity Framework Code First 数据库部署的错误?

我使用的是 EF 6.1.3。我正在尝试将包含以下模型的数据库部署到 Azure:

public class DriverLog
{
public int ID { get; set; }

[Required]
public DateTime LogDate { get; set; }

public int RouteID { get; set; }
public virtual Route Route { get; set; }

public int DriverID { get; set; }
[ForeignKey("DriverID")]
public virtual Employee Driver { get; set; }

public int DispatcherID { get; set; }
[ForeignKey("DispatcherID")]
public virtual Employee Dispatcher { get; set; }
}

部署成功,但是当我尝试访问数据库时,出现以下错误:

{"Message":"An error has occurred."}

如果我删除最后两个字段 - DispatcherID 和 Dispatcher - 我不会收到此错误。

出于某种原因,EF 不喜欢我包含这两个字段,但我不知道为什么,也不知道如何调试它。

最佳答案

我能够像这样解决问题:

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<DriverLog>()
.HasRequired(o => o.Dispatcher)
.WithMany()
.WillCascadeOnDelete(false);
}

此解决方案的功劳为:Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths - why?

关于sql-server - 如何调试Entity Framework Code First数据库部署错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39844434/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com