我有两张table Project
以及 ProjectMedia
. 其定义如下:
CREATE TABLE `project` (
`ID` int(11) NOT NULL,
`LANG` char(2) NOT NULL,
`NAME` varchar(64) CHARACTER SET utf8 DEFAULT NULL,
`DESCS` varchar(2048) CHARACTER SET utf8 DEFAULT NULL,
`SHORT_DESC` varchar(512) CHARACTER SET utf8 DEFAULT NULL,
PRIMARY KEY (`ID`,`LANG`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
``` `ID` 以及 `LANG` 是中的复合主键 `Project` table。 `ProjectMedia` 表定义:
CREATE TABLE project_media
(ID
int(11) NOT NULL AUTO_INCREMENT,PATH
varchar(1024) DEFAULT NULL,TYPE
char(1) DEFAULT NULL,IS_LOCAL_FILE
bit(1) DEFAULT NULL,PROJECT_ID
int(11) NOT NULL,LANG
char(2) NOT NULL,
PRIMARY KEY (ID
),
KEY PROJECT_MEDIA_PROJECT_PROJECT_ID_LANG_idx
(PROJECT_ID
,LANG
),
CONSTRAINT PROJECT_MEDIA_PROJECT_PROJECT_ID_LANG
FOREIGN KEY (PROJECT_ID
, LANG
) REFERENCES project
(ID
, LANG
) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
我在projectmedia中添加了两个专栏 `PROJECT_ID` 以及 `LANG` 我已经创建了一个复合外键,供它们引用到 `project` table
但是当我执行scaffold命令如下:我得到了这个信息
dotnet ef dbcontext scaffold "server=localhost;database=mydb;user=root;" "MySql.Data.EntityFrameworkCore" --output-dir "Persistence" --context "MyDbContext" --force
无法构建外键“mydb.project\u media(project\u id)”的框架。在主体实体类型“project”中找不到“id”的键。无法构造外键“mydb.project\u media(lang)”的脚手架。在主体实体类型“project”中找不到“lang”的键。
我该怎么办?
暂无答案!
目前还没有任何答案,快来回答吧!