【发布时间】:2020-12-30 22:07:40
【问题描述】:
我正在尝试定义表之间的关系,但收到以下错误:
在表“QProducts”上引入 FOREIGN KEY 约束“FK_QProducts_Quotes_QuoteId”可能会导致循环或多个级联路径。指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。无法创建约束或索引。查看以前的错误。
这就是我的表格的样子:
我想要达到的目标:
A.客户创建查询并添加他希望收到报价的产品和数量
B.供应商为每种产品报价并写下价格
C. Products 表包含有关数量的信息,QProducts 表在报价期间使用价格等信息对其进行了扩展,因此我可以在报价下显示产品的数量和价格。
但错误不允许更新数据库。如何消除此错误?
我的关系是由实体框架创建的:
- 一个广告有很多报价,产品:
public List<Quote> Quotes { get; set; } = new List<Quote>();
public List<Product> Products { get; set; } = new List<Product>();
- 一个报价包含多个 QPRODUCTS 和一个广告:
public Advert Advert { get; set; }
public int AdvertId { get; set; }
public List<QProduct> QProducts { get; set; } = new List<QProduct>();
- 产品有一个广告,许多 QPRODUCTS:
public int AdvertId { get; set; }
public Advert Advert { get; set; }
public List<QProduct> QProducts { get; set; } = new List<QProduct>();
- QProduct 有一个报价,一个产品:
public Quote Quote { get; set; }
public int QuoteId { get; set; }
public Product Product { get; set; }
public int ProductId { get; set; }
【问题讨论】:
标签: c# sql-server entity-framework-core blazor-server-side