导航

解决在LinqDataSouce中使用GUID参数类型的问题

Posted on 2008-05-21 10:30  hoory  阅读(845)  评论(0编辑  收藏  举报
在默认情况下,SelectParameter类型不能为GUID类型,如果用Object类型代替,会出现如下错误


Operator '==' incompatible with operand types 'Guid' and 'String'

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Web.Query.Dynamic.ParseException: Operator '==' incompatible with operand types 'Guid' and 'String'


解决办法是

    <asp:LinqDataSource ID="LinqDataSource1" runat="server" 

        ContextTypeName
="DBDataContext" OrderBy="RequestDate desc" 

        TableName
="ApplicationResultsViews" Where="ApplicantID == Guid(@ApplicantID)">

        
<WhereParameters>

            
<asp:Parameter Name="ApplicantID" Type="String"/>

        
</WhereParameters>

    
</asp:LinqDataSource>


希望对遇到同样问题的朋友有帮助