使用ServiceStack OrmLite时,为什么会出现"从范围引用但未定义的变量"错误?

MaY*_*YaN 5 c# ormlite-servicestack

我有一个SQL Server表Employee,其列EntryDate定义为DATETIME.

我也有以下poco:

public class Employee
{
    public int Id {get; set;}
    public DateTime EntryDate {get; set;}
    ...
}
Run Code Online (Sandbox Code Playgroud)

当我使用以下方式查询表时:

Db.Select<Employee>(e => e.EntryDate >= new DateTime(2014, 8, 15));
Run Code Online (Sandbox Code Playgroud)

要么:

Db.Select<Employee>(q => q.Where(e => e.EntryDate >= new DateTime(2014, 8, 15)));
Run Code Online (Sandbox Code Playgroud)

我得到了我的期望,但是当我尝试运行时:

Db.Select<Employee>(e => e.EntryDate.Date >= new DateTime(2014, 8, 15).Date));
Run Code Online (Sandbox Code Playgroud)

要么:

Db.Select<Employee>(q => q.Where(e => e.EntryDate.Date >= new DateTime(2014, 8, 15).Date));
Run Code Online (Sandbox Code Playgroud)

我明白了:

从范围''引用的'Employee'类型的变量'e',但它没有定义

只是为了确认,编写原始SQL也可以正常工作.

有任何想法吗?