【发布时间】:2011-01-07 02:43:57
【问题描述】:
我一直在 Silverlight 应用程序中使用 Linq 查询,它只返回包含字段 OptionARMRunId(身份)的最大值的表行。在 LinqPad 中执行时,查询运行良好并返回正确的行。然而,当在我的 Silverlight 应用程序中使用时,应用程序永远不会越过加载屏幕(当状态百分比变为 100% 时,蓝色圆圈继续旋转,令人作呕)并且我在浏览器中收到错误消息。我已经包含了原始的 Linq 语句,它出现在我的查询中的语句,以及下面的 ie 错误。
Linq 语句(正常工作):
from OptionARMProjection in OptionARMProjections.Where(row => row.OptionARMRunId == OptionARMProjections.Max(r => r.OptionARMRunId))
select OptionARMProjection
C# 类中的 Linq 语句(运行 silverlight 应用程序时导致错误):
crocodileEntities proxy = new crocodileEntities(new Uri("CrocodileDbDataService.svc", UriKind.Relative));
var ProjectionsQuery = from OptionARMProjections in proxy.OptionARMProjections.Where(row => row.OptionARMRunId == proxy.OptionARMProjections.Max(r => r.OptionARMRunId))
select OptionARMProjections;
在 ie8 中收到错误:
网页错误详情
用户代理:Mozilla/4.0(兼容; MSIE 8.0;视窗 NT 6.1;三叉戟/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;媒体中心PC 6.0; InfoPath.2;祖尼4.0; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET4.0C; .NET4.0E) 时间戳:2010 年 1 月 20 日,星期三 03:06:13 UTC
消息:未处理的错误 Silverlight 2 应用 方法 不支持“最大”。在 System.Data.Services.Client.ResourceBinder.VisitMethodCall(MethodCallExpression mce) 在 System.Data.Services.Client.ExpressionVisitor.Visit(表达式 exp)在 System.Data.Services.Client.DataServiceExpressionVisitor.Visit(表达式 exp)在 System.Data.Services.Client.ExpressionVisitor.VisitBinary(BinaryExpression b) 在 System.Data.Services.Client.ResourceBinder.VisitBinary(BinaryExpression b) 在 System.Data.Services.Client.ExpressionVisitor.Visit(表达式 exp)在 System.Data.Services.Client.DataServiceExpressionVisitor.Visit(表达式 exp)在 System.Data.Services.Client.ExpressionVisitor.VisitLambda(LambdaExpression λ) 在 System.Data.Services.Client.ExpressionVisitor.Visit(表达式 exp)在 System.Data.Services.Client.DataServiceExpressionVisitor.Visit(表达式 exp)在 System.Data.Services.Client.ExpressionVisitor.VisitUnary(UnaryExpression u) 在 System.Data.Services.Client.ExpressionVisitor.Visit(表达式 exp)在 System.Data.Services.Client.DataServiceExpressionVisitor.Visit(表达式 exp)在 System.Data.Services.Client.ExpressionVisitor.VisitExpressionList(ReadOnlyCollection
1 original) at System.Data.Services.Client.ExpressionVisitor.VisitMethodCall(MethodCallExpression m) at System.Data.Services.Client.ResourceBinder.VisitMethodCall(MethodCallExpression mce) at System.Data.Services.Client.ExpressionVisitor.Visit(Expression exp) at System.Data.Services.Client.DataServiceExpressionVisitor.Visit(Expression exp) at System.Data.Services.Client.ResourceBinder.AnalyzeProjection(MethodCallExpression mce, Boolean matchMembers, Expression& e) at System.Data.Services.Client.ResourceBinder.VisitMethodCall(MethodCallExpression mce) at System.Data.Services.Client.ExpressionVisitor.Visit(Expression exp) at System.Data.Services.Client.DataServiceExpressionVisitor.Visit(Expression exp) at System.Data.Services.Client.ResourceBinder.Bind(Expression e) at System.Data.Services.Client.DataServiceQueryProvider.Translate(Expression e) at System.Data.Services.Client.DataServiceQuery1.get_QueryComponents() 在 System.Data.Services.Client.DataServiceRequest.CreateResult(对象 源,DataServiceContext 上下文, AsyncCallback 回调,对象状态) 在 System.Data.Services.Client.DataServiceQuery`1.BeginExecute(AsyncCallback 回调,对象状态)在 OptionARMChart.OptionARMUniverse.GetOptionArmProjectionsASync() 在 OptionARMChart.MainPage..ctor()
在 OptionARMChart.App.Application_Startup(对象 发件人,StartupEventArgs e) 在 MS.Internal.CoreInvokeHandler.InvokeEventHandler(Int32 typeIndex,委托 handlerDelegate, 对象发送者,对象参数)在 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex,字符串事件名称) 行:1 字符:1 代码:0 URI: http://localhost:5004/optionarmcharttestpage.aspx
【问题讨论】:
标签: c# linq silverlight linq-to-sql silverlight-4.0