使用Entity Framework添加记录

时间:2011-12-07 09:06:44

标签: entity-framework

我有一个包含以下表格的数据库产品 - PRODUCTHOSTSPOTTEXTS - HOTSPOTTEXTS

PRODUCTHOSTSPOTTEXTS充当其他两个表之间的多对多关系。当我将该数据库带到VS studio EF模型时,未显示多对多的reation表。相反,我在PRODUCTS和HOTSPOTTEXT之间存在多对多关联,这是正确的。

但是当我尝试将一些记录添加到HOTSPOTTEXTS表中时,我收到来自EF的错误,说没有找到PRODUCTHOSTSPOTTEXTS

为了正确地将HOTSPOTTEXT添加到PRODUCT,我需要在HOTSPOTTEXT中添加Text和ProductID,然后在PRODUCTHOSTSPOTTEXTS中添加新条目应该包含ProductID和新的HOTSPOTTEXT.ID Model

为了添加记录,我按照以下步骤进行操作

PresentationDAL.PresentationEntities ctx = new PresentationEntities();
        var prod = (from p in ctx.Products where p.Id == id select p).FirstOrDefault();

        var hotspot = new HotSpotText();
        hotspot.ProductId = id;
        hotspot.Text = "text 1";
        prod.HotSpotTexts.Add(hotspot);

        hotspot.Text = "text 2";
        prod.HotSpotTexts.Add(hotspot);

        hotspot.Text = "Text 3";
        prod.HotSpotTexts.Add(hotspot);

        ctx.HotSpotTexts.AddObject(hotspot);
        ctx.SaveChanges();

知道如何解决这个问题吗?

感谢您的帮助 哔叽

1 个答案:

答案 0 :(得分:0)

EF默认情况下会为联接表指定名称​​ PRODUCTHOTSPOTTEXTS ,但您的表名为 PRODUCTHO S TSPOTTEXTS