这应该是一个很常见的场景。这是数据库表。
CREATE TABLE `table1` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(45) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `table2` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(45) DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `table1_table2` (
`ID1` int(11) NOT NULL,
`ID2` int(11) NOT NULL,
KEY `fk1_idx` (`ID1`),
KEY `fk2_idx` (`ID2`),
CONSTRAINT `fk1` FOREIGN KEY (`ID1`) REFERENCES `table1` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk2` FOREIGN KEY (`ID2`) REFERENCES `table2` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
然后这是我的 Program.cs:
static void Main(string[] args)
{
using (testEntities ctx = new testEntities())
{
table1 t1 = new table1
{
Name = "t1",
table2 = new List<table2>()
};
table2 t2 = new table2
{
Name = "t2"
};
t1.table2.Add(t2);
ctx.table1.Add(t1);
ctx.SaveChanges();
}
}
还有恼人的错误截图:
所以,伙计们,帮帮我。我应该怎么办?在我开始在 EF 场景中使用 .NET 的 mysql 连接器的第一天,我感觉自己陷入了一个陷阱。