У меня есть приложение, которое использует EntityDataSource во многих местах.
В EDS я вручную строю предложение Where на основе пользовательского ввода из TextBox'es.
Я бы хотел, чтобы пользователь мог вводить "*" (звездочки) вместо "% "при запросе данных.
Легко ли использовать 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>
Но я получаю сообщение "Серверный тег не правильно сформирован".Я не могу найти эквивалентную функцию «заменить» в ссылке на Entity SQL ....
Есть идеи?