0

linq を使用して検索を作成したいのですが、SQL に User テーブルがnvarcharあり、FName と LName の 2 つの列と、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 に答える