这应该是一种非常常见的情况 . 这是数据库表 .
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连接器的第一天进入陷阱 .
1 回答
阅读错误,似乎必须在执行多对多关系之前添加t2 .