我尝试使用以下设计模型代码。
第一次呼叫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();
}
答案 0 :(得分:2)
您尝试将同一CKey
个实例关联到100个CProperty
个实例,但根据多重性图表,CKey
的给定实例最多只能关联到1 CProperty
。
在循环的每次迭代中创建CKey
的新实例,或者修改模式。