Отношения с иностранными ключами не появляются в edmx с базой данных mysql с asp mvc с базой данных первой - PullRequest
0 голосов
/ 05 ноября 2019

Я подключил свое приложение MVC asp.net к базе данных MySQL и включил все таблицы в edmx, но в конструкторе не появилось никаких связей, как показано на рисунке:

enter image description here

Я пытался изменить Entity Framework и MySQL ddls в версиях страницы управления слепками, но не работал со мной


запросы на создание базы данных:

Таблица годовых отчетов:

CREATE TABLE `AnnualMilestone` (
 `AnnalReport_Id` int(11) NOT NULL,
 `Milstone_Id` int(11) NOT NULL,
 `IsCompleted_Id` int(11) DEFAULT NULL,
 `CompletionDate` date DEFAULT NULL,
 `Justification` varchar(2000) DEFAULT NULL,
 `NewDeadLine` date DEFAULT NULL,
 `CreatedBy_Id` char(36) DEFAULT NULL,
 `CreatedDate` datetime DEFAULT NULL,
 `LastModifiedDate` datetime DEFAULT NULL,
 `LastModifiedBy_Id` char(36) DEFAULT NULL,
 PRIMARY KEY (`AnnalReport_Id`,`Milstone_Id`),
 KEY `FK_ISCOMPLETED` (`IsCompleted_Id`),
 KEY `FK_MILSTONE_ANNAUL` (`Milstone_Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

Таблица годовых отчетов:

CREATE TABLE `AnnualReport` (
 `Id` int(11) NOT NULL AUTO_INCREMENT,
 `Project_Id` int(11) DEFAULT NULL,
 `ReportingYear` int(11) NOT NULL,
 `SupportReceived` float NOT NULL,
 `SupportSpentOnMitigation` float NOT NULL,
 `IsCompleted_Id` int(11) DEFAULT NULL,
 `Phase_Id` int(11) DEFAULT NULL,
 `WorkFlowStatus_Id` int(11) DEFAULT NULL,
 `LastModifiedBy_Id` char(36) DEFAULT NULL,
 `LastModifiedDate` datetime DEFAULT NULL,
 `CreatedDate` datetime DEFAULT NULL,
 `CreatedBy_Id` char(36) DEFAULT NULL,
 `IsWFCompleted_Id` int(11) DEFAULT NULL,
 `MinistryAnnualReport_Id` int(11) DEFAULT NULL,
 `StatusBeforeCancel` int(11) DEFAULT NULL,
 PRIMARY KEY (`Id`),
 KEY `FK_ANNUALPHASE` (`Phase_Id`),
 KEY `FK_ANNUALWFSTATUS` (`WorkFlowStatus_Id`),
 KEY `FK_STATUSBEFORECANCEL` (`StatusBeforeCancel`),
 KEY `FK_WFCOMPLETED` (`IsWFCompleted_Id`),
 KEY `FK_YESNO` (`IsCompleted_Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8

Ответы [ 2 ]

1 голос
/ 06 ноября 2019

В MySQL для создания ключа FK:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    OrderNumber int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
); 
0 голосов
/ 05 ноября 2019

в проводнике объектов sql в вашей таблице вы ссылались на свой внешний ключ ex: внешний ключ ([Milstone_Id]) ссылается на [db]. [Ваша таблица с PK_ID здесь Milistone] (["имя вашего FK здесь"Milstone_Id]) enter image description here

...