环境是VS2010,Silverlight4
数据库里的日期是字符型的,我要做的是查询两个日期之间,并符合用户名的结果。
好像LINQ里的两个字符串日期不能直接比较,必须转换成DateTime才可以。
DateTime? dtBegin = Convert.ToDateTime(dateBegin.Text);
DateTime? dtEnd = Convert.ToDateTime(dateEnd.Text);
context.Load(context.GetTB_SUMMARYCONTENTQuery().Where(r => r.USERNAME == username && Convert.ToDateTime(r.RECORDDATE).CompareTo(dateBegin) > 0 && Convert.ToDateTime(r.RECORDDATE).CompareTo(dtEnd) < 0));
可这么写运行的时候总是提示
[ExpressionTypeDoesNotMatchMethodParameter]
参数: System.Nullable`1[System.DateTime],System.Object,Int32 CompareTo(System.Object)
调试资源字符串不可用。密钥和参数通常提供足够的信息用以诊断该问题。请访问 http://go.microsoft.com/fwlink/?linkid=106663&Version=4.1.10111.0&File=System.Core.dll&Key=ExpressionTypeDoesNotMatchMethodParameter
位于 System.ServiceModel.DomainServices.Client.WebDomainClient`1.BeginQueryCore(EntityQuery query, AsyncCallback callback, Object userState)
位于 System.ServiceModel.DomainServices.Client.DomainClient.BeginQuery(EntityQuery query, AsyncCallback callback, Object userState)
位于 System.ServiceModel.DomainServices.Client.DomainContext.Load(EntityQuery query, LoadBehavior loadBehavior, Action`1 callback, Object userState)
位于 Silverlight4.Views.view.btnSearch_Click(Object sender, RoutedEventArgs e)
位于 System.Windows.Controls.Primitives.ButtonBase.OnClick()
位于 System.Windows.Controls.Button.OnClick()
位于 System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
位于 System.Windows.Controls.Control.OnMouseLeftButtonUp(Control ctrl, EventArgs e)
位于 MS.Internal.JoltHelper.FireEvent(IntPtr unmanagedObj, IntPtr unmanagedObjArgs, Int32 argsTypeIndex, Int32 actualArgsTypeIndex, String eventName)
我把服务端的Silverlight的调试给禁止了(在xxx.web项目的属性,web,调试器里的silverlight的钩钩去掉了),是不是这个原因导致的呢?可是其他页面运行都没问题。主要是我不去掉的话根本就不能浏览页面,可能是哪里配置有问题,在单位都是正常的,在家必须要把服务端silverlight调试禁止才可以。