我有以下课程
public class ObjectA{
private List<ObjectB> list;
}
ObjectA
并且ObjectB
是1:N的关系。
我想删除一些 ObjectB 实例,我使用:
while (objectA.list.Any())
objectA.list.Remove(objectA.list.First());
列表是关系表 -
List<ObjectAobjectB>
在数据库中,我将关系定义为可为空的外键,否则我会得到
操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。
所以现在它是 Nullable 外键,
当我运行 sql 分析时,我得到以下信息:
exec sp_executesql N'update [Schem].[ClassB]
set [ClassAID] = null
where ([Id] = @0)
',N'@0 uniqueidentifier',@0='092CE959-370A-4785-AF4A-93A0E4952C59'
它只是在关系中输入一个空值,而不是删除对象。
我究竟做错了什么?
谢谢。