0

我尝试了以下设计模型的代码。第一次调用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();
        }
4

1 回答 1

2

您正在尝试将同一CKey实例与 100 个实例相关联CProperty,但根据多重性图,给定的实例CKey最多只能与 1 相关联CProperty

CKey在循环的每次迭代中创建一个新实例,或者修改您的架构。

于 2013-02-13T17:03:06.743 回答