VB.NET IQueryable

时间:2012-11-23 08:16:36

标签: vb.net linq entity-framework

我正在使用VB.NET FX 4.0和EF。 在我的代码中,我使用:

Dim query As System.Linq.IQueryable(Of MY_TABLE)
Dim sCondition As String = "it.DATE_IN = '" + searchDate + "'"
query = From c In MyContext.MY_TABLE .Where(sCondition ) Select c

结果总是空的,我的问题是...... 如何从DATE_IN字段中仅获取日期部分,因为searchDate仅采用格式dd / MM / yyyy

1 个答案:

答案 0 :(得分:1)

您可以使用EntityFunctions.TruncateTime删除时间部分。此外,在比较日期时,您应该使用DateTime而不是字符串值。

Dim dateValue = DateTime.Parse(searchDate).Date
Dim query = MyContext.MY_TABLE.Where(Function(x) _
            EntityFunctions.TruncateTime(x.DATE_IN) = dateValue)