Добавление записей с Entity Framework - PullRequest
0 голосов
/ 07 декабря 2011

У меня есть база данных, которая содержит следующие таблицы ПРОДУКТЫ - PRODUCTHOSTSPOTTEXTS - HOTSPOTTEXTS

PRODUCTHOSTSPOTTEXTS действуют как отношения многих ко многим другим двум таблицам.Когда я переношу эту базу данных в модель VS studio EF, таблица «многие ко многим» не будет показана.Вместо этого у меня есть связь «многие ко многим» между ПРОДУКТАМИ и HOTSPOTTEXT, которая является правильной.

Но когда я пытаюсь добавить некоторые записи в таблицу HOTSPOTTEXTS, я получаю ошибку от EF, говорящую, что PRODUCTHOSTSPOTTEXTS не найден

Чтобы правильно добавить HOTSPOTTEXT в ПРОДУКТ, мне нужно добавить в 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();

Есть идеи, как это решить?

Спасибо за помощь, serge

1 Ответ

0 голосов
/ 08 декабря 2011

EF по умолчанию ожидает имя PRODUCTHOTSPOTTEXTS для таблицы соединения, но ваша таблица имеет имя PRODUCTHO S TSPOTTEXTS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...