【问题标题】:LINQ to SQL Foreign Key Constraint conflictsLINQ to SQL 外键约束冲突
【发布时间】:2010-05-12 10:54:48
【问题描述】:

我在使用 LINQ 时遇到问题。

我有 2 个表(父子关系)

Table1: Events (EventID, Description)
Table2: Groups (GroupID, EventID(FK), Description)

现在我想创建一个事件和一个孩子。

Event e = new Event();
e.Description = "test";
Datacontext.Events.InsertOnSubmit(event)

Group g = new Group();
g.Description = "test2";
g.EventID = e.EventID;
Datacontext.Groups.InsertOnSubmit(g);

Datacontext.SubmitChanges();

当我调试时,我可以在插入事件后看到。 EventID 获得了一个新值(自动递增)。

但是当 Datacontext.SubmitChanges();被调用。我得到以下异常

 "The INSERT statement conflicted with the FOREIGN KEY constraint ...

我知道这可以通过在 LINQ 图中创建事件和组之间的关系来解决。然后设置实体本身。但我不想每次询问组列表时都加载事件。

我只需要某种方式,当插入组失败时,不会在数据库中提交事件插入。

对不起,如果这有点不清楚,我的英语不是很好。

【问题讨论】:

    标签: c# linq linq-to-sql foreign-keys datacontext


    【解决方案1】:

    创建关系并不意味着您必须为组加载事件 - 您仍然可以正常查询组。

    【讨论】:

    • O'Rly,我认为所有的事件信息都是在组表中的每个选择中加载的。
    • 你完全正确。我用探查器对其进行了测试。谢谢
    猜你喜欢
    • 2012-06-03
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    相关资源
    最近更新 更多