0

我想使用 linq 创建搜索,我在 SQL 中有用户表,其中包含两nvarchar列 FName 和 LName 以及 Id 和其他列的 PK。

aspx

 <asp:TextBox ID="search" runat="server" AutoPostBack="True" 
                            ontextchanged="search_TextChanged"></asp:TextBox>    <br />      
  <asp:ListBox ID="found" runat="server" Height="400px" Width="300px" 
                               AutoPostBack="True" DataSourceID="LinqUserSearch" DataTextField="Users" 
                               DataValueField="Id">
  </asp:ListBox>   
  <asp:LinqDataSource ID="LinqUserSearch" runat="server" 
                               ContextTypeName="Zhotel.User" EntityTypeName="" GroupBy="Id" 
                               OrderBy="FName, LName" OrderGroupsBy="key" 
                               Select="new (key as Id, it as Users)" TableName="Users" 
                               Where="FName &gt;= @FName &amp;&amp; LName &gt;= @LName">
        <WhereParameters>
         <asp:ControlParameter ControlID="search" Name="FName" PropertyName="Text" 
                                       Type="String" />
       <asp:ControlParameter ControlID="search" Name="LName" PropertyName="Text" 
                                       Type="String" />
  </WhereParameters>
  </asp:LinqDataSource>

但在运行时,上面的代码给了我这个错误。

     Operator '>=' incompatible with operand types 'String' and 'Object'

我使用 EF 和 ASP.NET 4。

4

1 回答 1

0

看看这里让你开始:

http://forums.asp.net/t/1654093.aspx/1

问题很可能是字符转义问题。

干杯。

于 2013-04-05T10:04:56.687 回答