mysql,带entityframework核心-复合外键

webghufk  于 2021-06-15  发布在  Mysql
关注(0)|答案(0)|浏览(172)

我有两张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”的键。
我该怎么办?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题