EntityFramework 多对多

EntityFramework Many to Many

自从升级到 EF 6.1.3 后,我无法将任何内容保存到数据库中。

我收到一个错误:

"Unable to update the EntitySet 'ProjectTask' because it has a DefiningQuery and no element exists in the element to support the current operation."

表定义了多对多关系:

项目

项目任务

任务

定义了所有外键。相当标准。

一些帖子指出加入 table ProjectTask 必须定义主键。但是,如果我这样做,EF 会在数据模型中创建 ProjectTask class,这并不好。

正如一些人提到的那样。在 ProjectTask table 上创建复合键是解决方案。

ALTER TABLE dbo.ProjectTask
    ADD CONSTRAINT ProjectTask_ProjectId_TaskId UNIQUE (ProjectId, TaskId)