powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Удалить запись из связывающей таблицы на EF
3 сообщений из 3, страница 1 из 1
Удалить запись из связывающей таблицы на EF
    #37101140
dove06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем привет!

есть база данных с 3 таблицами - referents, seminars, qualrefs - в первой хранится информация про лекторов, во второй про семинары, третья - ассоциирует эти таблицы указывая какой лектор относится к конкретному семинару и наоборот, реализуя отношение многие ко многим.

в программе использую EF для доступа к этой таблице, и получаю две сущности - referents и seminars и отнощение многие ко многим между ними, и сущность qualref не отображается.
в программе описываю методы для работы с базой через эти сущности, и возникла проблема - как добавить или удалить ассоциацию между записями в таблицах referents и seminars? через контекст сущностей доступа к связывающей таблице нет, а как удалить или добавиьт в коллекции из referents.seminars или seminars.referents пока не получается =( собственно вопрос - как удалить и добавить запись в связывающую таблицу - или напрямую в неё писать или заполнять / удалить записи из коллекций ?
заранее спасибо
...
Рейтинг: 0 / 0
Удалить запись из связывающей таблицы на EF
    #37101405
Denis Gladkikh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Удалить запись из связывающей таблицы на EF
    #37102230
dove06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ - но на этом ресурсе и сам был, и такой вариант не подходит - мне надо использовать сугубо замаппенные сущности.
Вопрос уже решил, как и думал изначально писать прямо в коллекции связанных сущностей - то есть если Seminars и Referents связаны отношением многие ко многим, то у seminar есть колеекции referents и наоборот.
для этого делаю два запроса на выборку тех записей которые надо ассоциировать:
Код: plaintext
1.
2.
3.
4.
5.
6.
var refer = (from r in cntx.Referents.Include("Seminars")
                         where r.ID == refID
                         select r).FirstOrDefault();

            var sem = (from s in cntx.Seminars.Include("Referents")
                       where s.ID == semID
                       select s).FirstOrDefault();
а потом sem пишу в коллекции у refer и наоборот:
Код: plaintext
1.
2.
            refer.Seminars.Add(sem);
            sem.Referents.Add(refer);
            cntx.SaveChanges();
удаление происходит с помощью Remove:
Код: plaintext
1.
2.
            refer.Seminars.Remove(sem);
            sem.Referents.Remove(refer);
            cntx.SaveChanges();
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Удалить запись из связывающей таблицы на EF
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]