문제

계정 세부 정보를 업데이트 할 회원 페이지를 만들려고합니다. 멤버의 데이터로 양식을 채우고 싶지만 쿼리를 제한하기 위해 EntityDatasource에서 필터를 설정하는 방법을 모르겠습니다.

멤버 ID를 기반으로 SELECT 문을 설정하면 오류가 발생합니다.

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

나는 이것이 당신이 투영이나 무언가를 업데이트 할 수 없기 때문이라고 생각하지만, 어쨌든 이것에 대해 있습니까?

아니면 page_load에서 쿼리를 실행하고 직접 양식을 채워야합니까?

도움이 되었습니까?

해결책

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>

QueryString에 의해 매개 변수가 전달되는 경우. 몇 가지 다른 내장 매개 변수 유형도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top