【问题标题】:Linq to SQL, insert row with foreign keysLinq to SQL,插入带有外键的行
【发布时间】:2012-05-21 21:01:51
【问题描述】:

我找到了这个关于如何在我的表格中添加项目的 URL。 http://msdn.microsoft.com/en-us/library/bb386941.aspx

// 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”中。 声明已终止。

如何使用外键在表中插入一行?

【问题讨论】:

  • 如果您还检查了Customer 表中的数据,那将意味着很多。它有没有ID=22 的客户?错误文本指的是这个确切的问题。另外,数据库模式是否正确?再次验证它。这个外键正确吗?

标签: linq-to-sql foreign-keys


【解决方案1】:

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

【讨论】:

  • 谢谢,这对我有用。我在想一个很难的方法。并为非现有客户进行测试。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多