여러 위치에서 EntityDataSource를 사용하는 응용 프로그램이 있습니다.EntityDataSource는 쿼리에서 *를 % 와일드 카드로 바꿉니다.
EDS에서 TextBox의 사용자 입력을 기반으로 Where 절을 수동으로 작성합니다.
데이터를 쿼리 할 때 사용자가 "%"대신 "*"(별표)를 입력 할 수 있기를 바랍니다.
검색/바꾸기에 Entity SQL 또는 EDS 자체를 사용하는 것이 쉬운가요? 나는 실제로 데이터가 입력 된 후에 TextBox를 변경할 수 있지만 텍스트가 *에서 %로 변경된 것을 볼 때 나는 그가 이해할 것이라고 생각하지 않는다. 나는 이런 식으로 뭔가를 T-SQL 명령을 교체 사용하고 시도
는 :
<asp:EntityDataSource ID="EDSParts" runat="server"
ConnectionString="name=TTEntities" DefaultContainerName="TTEntities"
EnableFlattening="False" EntitySetName="Parts"
OrderBy="it.ID DESC"
Where ="(CASE
WHEN (@PartNumber IS NOT NULL) THEN
it.[Number] LIKE REPLACE(@PartNumber, "*", "%")
ELSE
it.[ID] IS NOT NULL
END)">
<WhereParameters>
<asp:ControlParameter Name="PartNumber" Type="String"
ControlID="txtPartNumberQuery" PropertyName="Text" />
</WhereParameters>
</asp:EntityDataSource>
하지만 "서버 태그가 잘 형성되지 않는다"메시지가 나타납니다. 엔티티 SQL 참조에서 동등한 "바꾸기"기능을 찾을 수 없습니다 ....
아이디어가 있으십니까?
당신은 시도해 봤어 "*"와 "%"를''* ''와' '%''로 바꾸는 것은 어쩌면 에러를 제거하는 것일까 요 – Slauma