C# 实体框架一对多关系,更新一侧

C# 实体框架一对多关系,更新一侧,c#,database,entity-framework,orm,one-to-many,C#,Database,Entity Framework,Orm,One To Many,我有一组端点,它们可能属于也可能不属于某个组织,而一个组织中可以有多个或零个端点。我想从组织中删除特定终结点。我已经写了这个方法,但我不明白为什么它不起作用: public void DeleteEndpointFromOrganization(Guid id, int organiationId) { using (var db = new Context()) { var organization = GetOrganizationById(organiati

我有一组端点,它们可能属于也可能不属于某个组织,而一个组织中可以有多个或零个端点。我想从组织中删除特定终结点。我已经写了这个方法,但我不明白为什么它不起作用:

public void DeleteEndpointFromOrganization(Guid id, int organiationId)
{
    using (var db = new Context())
    {
        var organization = GetOrganizationById(organiationId);
        var endpointSystem = organization.EndpointSystems.FirstOrDefault(e => e.Id == id);

        if (endpointSystem != null)
        {
            organization.EndpointSystems.Remove(endpointSystem);
        }

        db.Organizations.AddOrUpdate(organization);

        db.SaveChanges();
    }
}

实际上,您正在修改
端点系统(多个方面),而不是
组织(一个方面)。您尝试过类似于
endpointSystem.Organization=null
endpointSystem.OrganizationId=null
的方法吗?@IvanStoev谢谢您!没有外键的字段,我为外键添加了一个可选字段,并在我的方法中将其设置为null,它就可以工作了。