2012-05-21 79 views
1

我发现这个URL关于如何在我的表中添加一个项目。 http://msdn.microsoft.com/en-us/library/bb386941.aspxLinq to SQL,用外键插入行

// Create a new Order object. 
Order ord = new Order 
{ 
    OrderID = 12000, 
    ShipCity = "Seattle", 
    OrderDate = DateTime.Now 
    // … 
}; 

这应该没有任何问题

,但工作,如果我有这样的事情:

// Create a new Order object. 
Order ord = new Order 
{ 
    OrderID = 12000, 
    CustomerID = 22, // where CustomerID is a foreign key to table Customer 
    ShipCity = "Seattle", 
    OrderDate = DateTime.Now 
    // … 
}; 

然后它会给类似的错误: 异常详细信息:System.Data.SqlClient的.SqlException:INSERT语句与FOREIGN KEY约束“FK7_REVIEW”冲突。冲突发生在数据库“Dbname”,表“dbo.Customer”,“CustomerID”列中。 该声明已被终止。

我该如何在我的表格中插入一行外键?

+0

如果您还查看了“客户”表中的数据,这将意味着很多。它有一个ID为22的客户吗?错误文本引用了这个确切的问题。另外,数据库模式是否正确?再次验证它。这个外键是否正确? – AlexanderMP

回答

1

Order.CustomerID引用另一个表中的主键(如Customer)。要插入新订单,CustomerID必须等于Customer表中主键的现有值。

+0

谢谢,这对我很有用。我正在想办法去困难。并测试一个不存在的客户。 – user1408786