过滤DateTime字段的EntityDataSource

时间:2010-08-31 08:42:22

标签: c# asp.net linq

我正在使用和EntityDateSource,我添加where条件在运行时过滤数据,然后将网格绑定到dataSource,但我收到以下错误: -

The argument types 'Edm.DateTime' and 'Edm.String' are incompatible for this operation.

搜索条件如下所示: -

it.[MyDate]='8/13/2010 00:00:00'

任何想法如何解决这个问题?

3 个答案:

答案 0 :(得分:6)

VinayC给出的答案还有一些东西。以下内容肯定会对我有用。

使用诸如此类的语法。[MyDate] = DATETIME'2010-13-8 00:00'

答案 1 :(得分:0)

EntityDataSource.Where使用EnttiySQL sytanx。需要在 YYYY-MM-DD HH:MM 中指定日期时间文字 - 请参阅documentation

简而言之,使用it.[MyDate]='2010-13-8 00:00'之类的语法,你应该没问题。

答案 2 :(得分:0)

Private Sub EntityDataSource1_Selecting(sender As Object, e As System.Web.UI.WebControls.EntityDataSourceSelectingEventArgs) Handles EntityDataSource1.Selecting

Dim dat As String = Format(CDate(my_Date), "yyyy-MM-dd HH:mm:ss")   EntityDataSource1.Where = "it.my_field = CONVERT(DATETIME, '" & dat & "', 102)) "

End Sub