在我的数据库模型中,我有 4 个实体:订单、服务、客户、员工。他们的关系:
客户 0..1 - * 订单
订单 1 - * 服务
员工 1 - * 服务。
我尝试按特定顺序删除所有服务,但收到 InvalidOperationException: 操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。
这是我的代码:
public static void ClearSevicesInOrder(int orderId)
{
using (DbEntities context = new DbEntities())
{
var o = context.Orders.Find(orderId);
o.Services.Clear();
context.SaveChanges();
}
}
我做错了什么?