【发布时间】:2017-11-10 09:21:14
【问题描述】:
我正在使用 Entity Framework Core 并且有一个简单的 5 表设计,但出现错误并且无法弄清楚原因。我错过了什么?
例外:
引入 FOREIGN KEY 约束 'FK_GraphicItems_GraphicUploadTemplateItems_GraphicUploadTemplateItemId' 在表 'GraphicItems' 上可能会导致循环或多个级联路径。 指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
基地:
public abstract class Base
{
public int Id { get; set; }
public DateTime DateCreated { get; set; } = DateTime.Now;
}
客户:
public class Client : Base
{
public Guid Key { get; set; }
public string Name { get; set; }
}
图形:
public class Graphic : Base
{
public int ClientId { get; set; }
public virtual Client Client { get; set; }
public ICollection<GraphicItem> Items { get; set; } = new HashSet<GraphicItem>();
public ICollection<Tag> Tags { get; set; } = new HashSet<Tag>();
}
GraphicItem: (GraphicUploadTemplateId 属性导致异常)
public class GraphicItem : Base
{
public int GraphicId { get; set; }
public virtual Graphic Graphic { get; set; }
public int GraphicUploadTemplateItemId { get; set; }
public virtual GraphicUploadTemplateItem UploadTemplateItem { get; set; }
}
GraphicUploadTemplate:
public class GraphicUploadTemplate : Base
{
public int ClientId { get; set; }
public virtual Client client { get; set; }
public ICollection<GraphicUploadTemplateItem> Items { get; set; }
}
GraphicUploadTemplateItem:
public class GraphicUploadTemplateItem : Base
{
public int GraphicUploadTemplateId { get; set; }
public virtual GraphicUploadTemplate UploadTemplate { get; set; }
}
【问题讨论】: