sql-server - 实体框架似乎跳过了通过约束设置多列主键的表映射
问题描述
我通过数据库优先方法创建了一个 ADO.NET 模型。
创建模型时列出的我的一张表实际上并未添加到其中。
该表有一个多列主键,由两个外键组成。
CREATE TABLE ForumAccess
(
UserID INT FOREIGN KEY REFERENCES Users(UserID) NOT NULL,
ForumID INT FOREIGN KEY REFERENCES Forums(ForumID) NOT NULL,
CONSTRAINT ForumAccessID PRIMARY KEY (UserID, ForumID),
);
当我必须选择要添加的表时,它确实会出现,但它似乎被跳过了。没有为它生成类,也没有在.edmx
文件中显示。
我的应用程序的一部分取决于此表的存在。我有另一个表,它有一个多列主键和另一个 DateTime 类型列。该表确实被添加。
该表是:
CREATE TABLE Moderators
(
UserID INT FOREIGN KEY REFERENCES Users(UserID) NOT NULL,
ForumID INT FOREIGN KEY REFERENCES Forums(ForumID) NOT NULL,
TimeOfAddition DateTime NOT NULL, -- When the mod was added as a mod.
CONSTRAINT ModeratorID PRIMARY KEY (UserID, ForumID),
);
为什么Moderators
表被添加,但ForumAccess
表没有?
没有错误,也没有我能看到的任何警告。
我错过了什么?
解决方案
推荐阅读
- c# - 使用 MediaComposition 和 IBasicVideoEffect 从视频文件中获取帧
- php - 为什么 php 舍入这个数字?
- javascript - 谷歌表没有收到表单提交
- javascript - 什么时候 throw(error) 和 return(value) 在 javascript 迭代器中有用?
- database - SSH 隧道到 Sequelize PostgreSQL 数据库
- javascript - 如何在css flexbox下面写东西
- python - 将 TF_CPP 日志重定向到文件 python
- javascript - 反应错误:无法读取未定义的属性“用户”
- tesseract - hOCR 文件中 x_descenders 和 x_ascenders 的含义?
- c++ - 在 C++ 中拥有多个指向单个对象的指针的正确方法是什么?