Как заполнить обновляемый FormView из EntityDataSource фильтром - PullRequest
6 голосов
/ 29 июня 2009

Я пытаюсь создать страницу участника для обновления данных учетной записи. Я хочу заполнить форму данными члена, но я не знаю, как установить фильтр на EntityDataSource для ограничения запроса.

Когда я устанавливаю оператор выбора на основе идентификатора члена, я получаю ошибку

Select cannot be set if EnableDelete, EnableInsert, or EnableUpdate is enabled.

Я думаю, это потому, что вы не можете обновить проекцию или что-то в этом роде, но есть ли что-нибудь вокруг этого?

Или мне нужно выполнить запрос в Page_Load и заполнить форму самостоятельно?

1 Ответ

13 голосов
/ 08 июля 2009

Нет необходимости устанавливать select, только предложение where.

Вы можете сделать что-то вроде следующего:

<asp:EntityDataSource ID="MyDataSource" EntitySetName="Entity1" runat="server"
    ConnectionString="name=MyEntitiesConnString" EnableUpdate="true"
    DefaultContainerName="MyEntities" Where="it.MemberId= @MemberId" >
        <WhereParameters>
            <asp:QueryStringParameter DbType="Int32" Name="memberId" QueryStringField="memberid" />
        </WhereParameters>
</asp:EntityDataSource>

Если параметр передается строкой запроса. Есть также несколько других встроенных типов параметров.

...