使用以下LINQ查询:
EntityQuery<Questions> query = context.GetQuestionsQuery()
.Where(o => o.SurveyQuestions.Any(o2 => o2.SurveyID == 3));
然而,当使用LINQPad时...它工作正常。
Questions.Where(o => o.SurveyQuestions.Any(o2 => o2.SurveyID == 3)).Dump();
这是Silverlight的限制吗?如果是这样我怎样才能以银光友好的方式做同样的事情?稍微调查一下,这看起来就像是在DomainContext.Load操作中引起的。
网页错误详情
用户代理:Mozilla / 4.0(兼容; MSIE 7.0; Windows NT 5.1;三叉戟/ 4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322) 时间戳:2011年2月28日星期一18:06:11 UTC
消息:未处理的错误 Silverlight 2应用程序查询 不支持运算符'Any'。在 System.ServiceModel.DomainServices.Client.WebDomainClient
1.BeginQueryCore(EntityQuery query, AsyncCallback callback, Object userState) at System.ServiceModel.DomainServices.Client.DomainClient.BeginQuery(EntityQuery query, AsyncCallback callback, Object userState) at System.ServiceModel.DomainServices.Client.DomainContext.Load(EntityQuery query, LoadBehavior loadBehavior, Action
1回调,对象userState)
在 System.ServiceModel.DomainServices.Client.DomainContext.Load [TEntity](EntityQuery1 query, LoadBehavior loadBehavior, Action
1回调,对象userState)
在 System.ServiceModel.DomainServices.Client.DomainContext.Load [TEntity](EntityQuery1 query, Action
1回调,对象 userState)at ReadmissionTrackingApplication.Client.ViewModel.QuestionairreViewModel.ReceiveNewQuestionairreRequest(fnReadmitPatientList_Result 请求) GalaSoft.MvvmLight.Helpers.WeakAction1.Execute(T parameter) at GalaSoft.MvvmLight.Helpers.WeakAction
1.ExecuteWithObject(对象 参数)at GalaSoft.MvvmLight.Messaging.Messenger.SendToList [TMessage](TMessage 消息,IEnumerable`1列表,类型 messageTargetType,Object token)at GalaSoft.MvvmLight.Messaging.Messenger.SendToTargetOrType [TMessage](TMessage 消息,输入messageTargetType, 对象令牌) GalaSoft.MvvmLight.Messaging.Messenger.Send [TMessage](TMessage 消息) ReadmissionTrackingApplication.Client.ViewModel.PrimarySearchViewModel.OpenSurveyCommand_Execute() 在 ReadmissionTrackingApplication.Client.ViewModel.PrimarySearchViewModel.b__2() 在 GalaSoft.MvvmLight.Command.RelayCommand.Execute(对象 参数)at System.Windows.Controls.Primitives.ButtonBase.ExecuteCommand() 在 System.Windows.Controls.Primitives.ButtonBase.OnClick() 在 System.Windows.Controls.Button.OnClick() 在 System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs 吃 System.Windows.Controls.Control.OnMouseLeftButtonUp(控制 ctrl,EventArgs e)at MS.Internal.JoltHelper.FireEvent(IntPtr的 unmanagedObj,IntPtr unmanagedObjArgs, Int32 argsTypeIndex,Int32 actualArgsTypeIndex,String eventName) 行:1个字符:1代码:0 URI: http://localhost/readdtrackapp/Silverlight.js
答案 0 :(得分:1)
因为并非EntityQuery
类支持所有LINQ查询。只有以下运算符才能与EntityQuery一起使用: