gpt4 book ai didi

database - 试图删除 (*) 和 (*) 之间的关系。但是,关系的外键之一 (X) 不能设置为 null

转载 作者:搜寻专家 更新时间:2023-10-30 19:48:41 24 4
gpt4 key购买 nike

我有一个 SQL Server 表结构,其中某些列是引用不同查找表的外键。这些列创建为 NOT NULL 并且 DEFAULT value = 1 作为 ID = 1 的查找值是我想要的默认值分配以防在保存记录时传递 NULL

但是,我在尝试添加/更新/删除 这个子表的记录时遇到以下错误。

An attempt was made to remove a relationship between a (*) and a (*). However, one of the relationship's foreign keys (X) cannot be set to null. 

我尝试了很多搜索,但我找到了手动更改 LINQ to SQL 代码或 XML 的解决方案来解决这个问题。我不能那样做,因为将来当表格发生变化时,我必须确保每次都应用手动更改。

此外,我无法更改我的列以接受 NULL,因为这会影响通过 LINQ To SQL 使用同一表的其他应用程序。

为此我需要更易于管理的解决方案。

最佳答案

我假设您正在尝试通过将 null 分配给它来“重置”对其默认值的引用,并期望 L2S 采用数据库默认值。但是,对于 L2S,您只是在取消外键。它不知道数据库中的任何默认值。

因此您必须自己更改引用,将其设置为默认查找对象。您可以通过向您的类中添加 Reset() 方法来做到这一点,这样您就不必将此代码分散到各处。

关于database - 试图删除 (*) 和 (*) 之间的关系。但是,关系的外键之一 (X) 不能设置为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17359201/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com