Entity framework 如何在不从EF中的数据库加载的情况下清除多对多关系?

Entity framework 如何在不从EF中的数据库加载的情况下清除多对多关系?,entity-framework,Entity Framework,我有以下实体(使用实体框架5的POCO): 公司:Id、名称、应用程序等 应用程序:Id、名称等 公司和应用程序之间存在多对多关系 有了一个公司(没有从数据库加载aplications关系)和一组应用程序ID,我想清除该公司的应用程序,并添加具有集合中指定ID的应用程序 我可以使用应用程序的ID附加应用程序,而无需从数据库加载它们,如下所示: foreach (int id in selectedApplications) { Application application = ne

我有以下实体(使用实体框架5的POCO):

  • 公司:Id、名称、应用程序等
  • 应用程序:Id、名称等
公司和应用程序之间存在多对多关系

有了一个公司(没有从数据库加载aplications关系)和一组应用程序ID,我想清除该公司的应用程序,并添加具有集合中指定ID的应用程序

我可以使用应用程序的ID附加应用程序,而无需从数据库加载它们,如下所示:

foreach (int id in selectedApplications)
{
    Application application = new Application() { Id = id };
    _context.Applications.Attach(application);
    company.Applications.Add(application);
}
_context.SaveChanges();

但我需要先清除应用程序之间的关系。有没有办法在不首先从数据库加载的情况下清除多对多关系?

这是唯一的方法<代码>公司。在添加或删除项目时,必须加载应用程序,否则更改跟踪器将永远不会知道任何更改


此外,连接表不是概念模型中的实体,因此无法在中尽可能设置基本外键属性。您必须通过对象集合访问关联。

这是唯一的方法<代码>公司。在添加或删除项目时,必须加载应用程序,否则更改跟踪器将永远不会知道任何更改

此外,连接表不是概念模型中的实体,因此无法在中尽可能设置基本外键属性。您必须通过对象集合访问关联