Как сопоставить ассоциацию для свойства навигации, чтобы выбрать, но не обновлять?

#entity-framework #entity-framework-4 #mapping #associations

#entity-framework #entity-framework-4 #сопоставление #ассоциации

Вопрос:

У меня есть свойство навигации объекта, сопоставленное с другой таблицей («таблица ссылок» для включения отношения «многие ко многим»).

При этом данные выбираются в свойство навигации.
Чтобы обновить его, я написал SP для обновления этой таблицы ссылок, которая теперь существует в Function Imports модели, которую я могу вызвать, поскольку она доступна в контексте.

Однако обновление объекта и сохранение вызывает исключение: Не удается обновить EntitySet ‘setName’, потому что у него есть DefiningQuery и в элементе не существует элемента для поддержки текущей операции., поскольку я не сопоставил функцию для Insert, поскольку я вызываю свою импортированную функцию в контексте.

Есть ли способ обновить ассоциацию объекта, чтобы выбирать только из таблицы ссылок, и оставить обновление / вставку обрабатываться другим кодом?

Ответ №1:

Это было решено путем сопоставления таблицы ссылок с объектом в EDM, соответствующего связывания ее (со свойствами навигации), включая SP в EDM, сопоставления SP с функцией Insert и модульного тестирования.

Кажется, все в порядке.