Изменение отношения со одного-многих на Многие для многих необходимо обновить просмотр списка - PullRequest
5 голосов
/ 21 июня 2011

У меня есть таблица рассылки с pk DistributionID и таблица получателей с RecipientID как pk.Раньше эта таблица была от 1 до многих, но теперь она должна быть заменена на многие во многие с промежуточной таблицей.

У меня есть EntityDataSource, который предоставляет представление списка, которое позволяет легко манипулировать списком рассылки.

<asp:EntityDataSource ID="edsRecipients" runat="server" ConnectionString="name=DistributionEntities" DefaultContainerName="DistributionEntities" 
                        EnableDelete="True" EnableFlattening="False" EnableInsert="True" EnableUpdate="True" EntitySetName="Recipients"
                        Where="it.[DistributionID]=@DistributionID">
    <WhereParameters>
        <asp:ControlParameter ControlID="ddlSelectDistributionList" ConvertEmptyStringToNull="true" DbType="Int32" Name="DistributionID" />
    </WhereParameters>
</asp:EntityDataSource>  

Есть ли способ, которым я могу изменить предложение where для работы с новой таблицей. Новая таблица называется DistributionRecipients, если это необходимо.Если нет, то каким-либо образом я могу связать Distribuion.Recipients класса EF с представлением List в коде, который будет работать с функциями автоматического редактирования и удаления, или мне нужно будет добавить код для их обработки?

1 Ответ

1 голос
/ 17 июля 2011

Вы можете изменить атрибут , где вашего EntityDataSource, чтобы включить подзапрос для Распределения свойство навигации Получателейюридическое лицо:

EXISTS(SELECT Distributions.DistributionID FROM it.Distributions WHERE Distributions.DistributionID=@DistributionID)
...