Пакетная вставка / обновление с структурой объекта - PullRequest
4 голосов
/ 17 декабря 2008
  1. У меня есть таблица тегов, схема которой состоит только из идентификатора и имени (уникальных). Теперь из графического интерфейса пользователь может вводить теги для BlogPost. Когда данные сохранены, с тегами, хранящимися в массиве строк (имен), я хочу добавить теги, имена которых еще не существуют, в таблицу тегов и игнорировать теги, имена которых уже существуют, и получить список всех объектов тегов (включая существующие и недавно добавленные). Как я могу сделать это в Entity Framework всего за 1 SQL туда и обратно?

  2. Для возвращаемых тегов я хочу связать их с добавляемым объектом BlogPost (который только что создан и еще не сохранен в БД через EF). Возможно ли, что этот шаг может быть объединен с # 1 в 1 разовом цикле или мне нужно выполнить другой запрос?

1 Ответ

6 голосов
/ 17 декабря 2008

Я не верю, что Entity Framework вообще выполняет пакетную вставку (в настоящее время). Таким образом, если вам нужно сохранить количество обращений к БД настолько низким, вероятно, вам придется использовать хранимую процедуру или триггер базы данных. К счастью, Entity Framework поддерживает хранимые процедуры, которые возвращают типы сущностей. Об этом есть документация на MSDN. Вы можете создать процедуру, которая принимает список строк тегов и возвращает экземпляры сущностей тегов. Кроме того, вы можете добавить столбец VARCHAR в таблицу сообщений для списка тегов с разделителями и проанализировать его в триггере.

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