ormlite-servicestack,C#,Orm,Foreign Keys,Rdbms,ormlite Servicestack" /> ormlite-servicestack,C#,Orm,Foreign Keys,Rdbms,ormlite Servicestack" />

C# 插入与外键约束冲突

C# 插入与外键约束冲突,c#,orm,foreign-keys,rdbms,ormlite-servicestack,C#,Orm,Foreign Keys,Rdbms,ormlite Servicestack,我正在用from构建一个API 用测试数据填充时,我得到以下错误: INSERT语句与外键约束冲突 “FK\订单\客户\客户ID”。数据库中发生冲突 “C:\USERS\ALECTAYLOR\SOCIALBOOTSTRAPAPI\SRC\SOCIALBOOTSTRAPAPI\APP\u DATA\USERAUTH.MDF”, 表“dbo.Customer”,列“Id”。声明已终止 代码(第213-236行+CreateOrders函数): 分析器输出: 感谢您提供有关如何纠正此问题的建议。外

我正在用from构建一个API


用测试数据填充时,我得到以下错误:

INSERT语句与外键约束冲突 “FK\订单\客户\客户ID”。数据库中发生冲突 “C:\USERS\ALECTAYLOR\SOCIALBOOTSTRAPAPI\SRC\SOCIALBOOTSTRAPAPI\APP\u DATA\USERAUTH.MDF”, 表“dbo.Customer”,列“Id”。声明已终止

代码(第213-236行+CreateOrders函数):

分析器输出:



感谢您提供有关如何纠正此问题的建议。

外键约束通常意味着您试图将一个值插入到引用表中不存在的表中。看一篇关于外键的文章,了解外键是什么以及如何工作的更多信息。您需要查看order和customer数据表的实际结构


我猜您正在将customerId插入到customers表中不存在的orders表中。

由于这是失败的插入,唯一合乎逻辑的解释是CustomerNumber 1不存在。我看到您在几行之前插入了3个客户。可能在插入客户和插入订单之间没有提交交易

在“订单”中插入(“客户ID”、“ShopId”、“发货地址”, “OrderDate”、“RequiredDate”、“ShippedDate”、“Total”)值(1,0, {第1行:新月街440号,第2行:南墨尔本,邮政编码:7416, 城市:墨尔本,国家:澳大利亚}',20120430 07:43:18.686',空, 空,0)


在插入客户机之后和插入订单之前,尝试提交插入。好的,开始工作

需要设置
Order
ShopId
orderDetails
列表的
orderId


customerId必须存在于customers表中,因为我在构建订单时直接从列表中访问它:
customerId=customers[0]。Id
查看您的跟踪信息对于您为什么会出现错误没有多大意义,然而,我唯一一次看到这个错误是当外键的数据不存在时(即,您插入的customerId在customer表中不存在)。正如其他人在这里提到的,您是否有一个尚未提交的事务?