我有一个包含以下表格的数据库产品 - PRODUCTHOSTSPOTTEXTS - HOTSPOTTEXTS
PRODUCTHOSTSPOTTEXTS充当其他两个表之间的多对多关系。当我将该数据库带到VS studio EF模型时,未显示多对多的reation表。相反,我在PRODUCTS和HOTSPOTTEXT之间存在多对多关联,这是正确的。
但是当我尝试将一些记录添加到HOTSPOTTEXTS表中时,我收到来自EF的错误,说没有找到PRODUCTHOSTSPOTTEXTS
为了正确地将HOTSPOTTEXT添加到PRODUCT,我需要在HOTSPOTTEXT中添加Text和ProductID,然后在PRODUCTHOSTSPOTTEXTS中添加新条目应该包含ProductID和新的HOTSPOTTEXT.ID
为了添加记录,我按照以下步骤进行操作
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();
知道如何解决这个问题吗?
感谢您的帮助 哔叽
答案 0 :(得分:0)
EF默认情况下会为联接表指定名称 PRODUCTHOTSPOTTEXTS ,但您的表名为 PRODUCTHO S TSPOTTEXTS