相关疑难解决方法(0)

引入FOREIGN KEY约束可能会导致循环或多个级联路径 - 为什么?

我已经和它搏斗了一段时间,并且无法弄清楚发生了什么.我有一个卡片实体,其中包含Sides(通常为2个) - 卡片和侧面都有一个舞台.我正在使用EF Codefirst迁移,并且迁移失败并出现此错误:

在表'Sides'上引入FOREIGN KEY约束'FK_dbo.Sides_dbo.Cards_CardId'可能会导致循环或多个级联路径.指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束.

这是我的卡片实体:

public class Card
{
    public Card()
    {
        Sides = new Collection<Side>();
        Stage = Stage.ONE;
    }

    [Key]
    [Required]
    public virtual int CardId { get; set; }

    [Required]
    public virtual Stage Stage { get; set; }

    [Required]
    [ForeignKey("CardId")]
    public virtual ICollection<Side> Sides { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的Side实体:

public class Side
{
    public Side()
    {
        Stage = Stage.ONE;
    }

    [Key]
    [Required]     
    public virtual int …
Run Code Online (Sandbox Code Playgroud)

.net entity-framework entity-framework-4 ef-code-first

275
推荐指数
10
解决办法
19万
查看次数

代码优先参考一对多

我有以下两个表:

本土化

Id                     int
Text                   string
Run Code Online (Sandbox Code Playgroud)

DINER

Id                     int
Name                   string
Description            string
Name_LocalizationID    int
Description_LocationID int
Run Code Online (Sandbox Code Playgroud)

现在我希望我的POCO像这样:

public class Diner{
   public int Id{get;set;}
   public ICollection<Localization> NameLocalization{get;set;}
   public ICollection<Localization> DescriptionLocalization{get;set;} 
}

public class Localization{
   public int Id{get;set;}
   public string Text{get;set;}
}
Run Code Online (Sandbox Code Playgroud)

问题是:我们如何使用EF Fluent API将NameLocalization和DescriptionLocalization属性映射到Localization的Id?谢谢

entity entity-framework fluent-interface code-first

6
推荐指数
1
解决办法
7593
查看次数