C# 将实体关系添加到实体框架中的第三个表

C# 将实体关系添加到实体框架中的第三个表,c#,entity-framework,asp.net-mvc-4,model-view-controller,C#,Entity Framework,Asp.net Mvc 4,Model View Controller,我需要有关实体框架的帮助。我有一张这样的图表: 说明: 当我执行代码从Fly\u Product实体插入数据库时 控制器: public ActionResult Create(ProductVM obj) { try { obj.Product.Published = obj.isPublish; obj.Product.Deleted = obj.isDelete; obj.Produc

我需要有关实体框架的帮助。我有一张这样的图表:

说明:

当我执行代码从
Fly\u Product
实体插入数据库时

控制器:

public ActionResult Create(ProductVM obj)
{
        try
        {
            obj.Product.Published = obj.isPublish;
            obj.Product.Deleted = obj.isDelete;
            obj.Product.ShowOnHomePage = obj.isHome;

            obj.ProductVariant.IsShipEnabled = obj.isShipEnabled;
            obj.ProductVariant.IsFreeShipping = obj.isFreeShipping;
            obj.ProductVariant.CallForPrice = obj.isCallForPrice;
            obj.ProductVariant.isHot = obj.isHot;
            obj.ProductVariant.isNew = obj.isNew;
            obj.ProductVariant.isGift = obj.isGift;
            obj.ProductVariant.Fly_ProductVariant_Discount_Mapping.Add(new Fly_ProductVariant_Discount_Mapping { DiscountID = obj.indexDiscount, Createdon = DateTime.Now });
            obj.Product.Fly_ProductVariant.Add(obj.ProductVariant);

            obj.Product.Fly_ProductLocalized.Add(obj.ProductLocalized);
            obj.Product.Fly_ProductPicture.Add(obj.ProductPictures);

            obj.Product.Fly_Product_Category_Mapping.Add(new Fly_Product_Category_Mapping { CategoryID = obj.indexCate });
            obj.Product.Fly_Product_Manufacturer_Mapping.Add(new Fly_Product_Manufacturer_Mapping { ManufacturerID = obj.indexManufacturer });

            repository.Add(obj.Product);

            return RedirectToAction("Index");
        }
        catch (Exception e)
        {
            return View(e.Message);
        }
}
数据访问:

public void Add(Fly_Product obj)
{
        try
        {
            using (var context = new flycameraEntities())
            {
                context.Fly_Product.Add(obj);
                context.SaveChanges();
            }
        }
        catch (Exception ex)
        {
            throw ex;
        }
}
和捕获异常:

违反主键约束“PK\u Fly\u ProductVariant\u折扣\u映射”。无法在对象“dbo.Fly\u ProductVariant\u折扣\u映射”中插入重复键

已解决
我忘记了分配列
折扣映射ID
自动递增。感谢Gert Arnold的帮助

显示了用于执行插入的代码;没有它,我们不知道你做错了什么。而且,这不可能是整个图表;该
Fly\u ProductVariant
表上的导航属性比您显示的更多。你确定你的模型结构正确吗?嗨,克莱斯,我在上面编辑了代码,上面的图像实体我从visual studioIs的模型浏览器中捕获它
DiscountMappingID
一个标识列(自动递增)?是的!,它自动递增。