首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >LINQ到SQL外键约束

LINQ到SQL外键约束
EN

Stack Overflow用户
提问于 2022-05-06 00:44:07
回答 1查看 249关注 0票数 0

在这段代码中,我有一个insert按钮,它将接收来自textbox的用户输入,并将其存储在数据库中。我知道代码与其他没有Foreign的表的工作原理一样,但是这个表可以,我不知道如何处理它。每次尝试插入外键CustomerID时,我都会得到以下错误: System.Data.SqlClient.SqlException:‘insert语句与外键约束"FK_Orders_Customers“冲突。冲突发生在数据库"northwind”、表"dbo.Customers“、列'CustomerID’中。

下面是插入按钮代码和程序运行的图像。

代码语言:javascript
运行
复制
private void button9_Click(object sender, EventArgs e)
    {
        Order od = new Order
        {
            OrderID = int.Parse(ordertxt.Text),
            CustomerID = customertxt.Text

        };
        db.Orders.InsertOnSubmit(od);
        try
        {
            db.SubmitChanges();
        }
        catch (Exception)
        {
            MessageBox.Show("Invalid", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            db.SubmitChanges();
        }
        display_order();

程序运行

EN

回答 1

Stack Overflow用户

发布于 2022-05-06 01:46:58

要插入到CustomerID列中的值在Customer表中不存在,因此不能作为外键插入。您可以在插入之前根据Customer表添加验证值的逻辑,并在需要时创建一个新的customer,或者更改该列,使其不再是外键(如果您不需要它作为外键)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72134996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档