C# 实体框架6:给定多重性约束,对应的';CProperty';也必须在';删除';状态
我试着用下面的设计模型来遵循代码。 第一次调用C# 实体框架6:给定多重性约束,对应的';CProperty';也必须在';删除';状态,c#,.net,sql,database-design,C#,.net,Sql,Database Design,我试着用下面的设计模型来遵循代码。 第一次调用SaveChanges()成功,但第二次调用失败 我已经在这方面工作了18个小时,不知道问题出在哪里。 特别是当我可以用MSSQL服务器资源管理器手动实现代码目标时 谁能给我一个解决方案 var mc = new Model1Container1(); mc.Categories.Add(new Category() { Text = "Laptop" }); mc.Categories.Add(ne
SaveChanges()
成功,但第二次调用失败
我已经在这方面工作了18个小时,不知道问题出在哪里。
特别是当我可以用MSSQL服务器资源管理器手动实现代码目标时
谁能给我一个解决方案
var mc = new Model1Container1();
mc.Categories.Add(new Category() { Text = "Laptop" });
mc.Categories.Add(new Category() { Text = "TV" });
mc.SaveChanges();
var cat = mc.Categories.Where(c => c.Text == "Laptop").FirstOrDefault();
CKey ck = new CKey() { Key = "RAM" };
cat.CKeys.Add(ck);
for (int i = 1; i < 100; i++)
{
var ia = new Item() { Text = "MSI GX780-R", Category = cat };
ia.CProperties.Add(new CProperty() { Value = "4GB", CKey = ck });
mc.Items.Add(ia);
mc.SaveChanges();
}
var mc=new Model1Container1();
mc.Categories.Add(newcategority(){Text=“Laptop”});
mc.Categories.Add(newcategory(){Text=“TV”});
mc.SaveChanges();
var cat=mc.Categories.Where(c=>c.Text==“Laptop”).FirstOrDefault();
CKey ck=new CKey(){Key=“RAM”};
类别CKeys添加(ck);
对于(int i=1;i<100;i++)
{
var ia=new Item(){Text=“MSI GX780-R”,Category=cat};
添加(新的CProperty(){Value=“4GB”,CKey=ck});
mc.项目。添加(ia);
mc.SaveChanges();
}
您试图将相同的CKey
实例关联到100个CProperty
实例,但根据多重性图,给定的CKey
实例最多只能关联到1个CProperty
在循环的每次迭代中创建一个新的
CKey
实例,或者修改您的模式。“第一次调用成功,但不是第二次”-第二次调用以什么方式不成功?@JeanHominalmc.SaveChanges()
在for循环中。对于i=1,第一个循环成功,但是对于i=2,错误显示为.OMG。。真是个白痴。。这是一个可怕的错误!谢谢你,简。。你为我节省了很多时间。