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."
表定义了多对多关系:
项目
- Id INT PK
项目任务
- ProjectId 整数
- TaskId INT
任务
- Id INT PK
定义了所有外键。相当标准。
一些帖子指出加入 table ProjectTask
必须定义主键。但是,如果我这样做,EF 会在数据模型中创建 ProjectTask
class,这并不好。
正如一些人提到的那样。在 ProjectTask table 上创建复合键是解决方案。
ALTER TABLE dbo.ProjectTask
ADD CONSTRAINT ProjectTask_ProjectId_TaskId UNIQUE (ProjectId, TaskId)
自从升级到 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."
表定义了多对多关系:
项目
- Id INT PK
项目任务
- ProjectId 整数
- TaskId INT
任务
- Id INT PK
定义了所有外键。相当标准。
一些帖子指出加入 table ProjectTask
必须定义主键。但是,如果我这样做,EF 会在数据模型中创建 ProjectTask
class,这并不好。
正如一些人提到的那样。在 ProjectTask table 上创建复合键是解决方案。
ALTER TABLE dbo.ProjectTask
ADD CONSTRAINT ProjectTask_ProjectId_TaskId UNIQUE (ProjectId, TaskId)