Linq to Entities сравнивает DateTime в подзапросе - PullRequest
1 голос
/ 09 апреля 2011

Я пытаюсь сделать этот подзапрос:

var query = 
    from cjto in oContext.t_table_1
    join cav in oContext.t_table_2 on cjto.cd_code equals cav.cd_code
    where cav.dt_time >= 
        (from tu in oContext.t_table3
        where tu.vl_code == "ABCD"
        select tu.dt_check_time)
    select cav;

Однако я получаю сообщение об ошибке:

Operator '>=' cannot be applied to operands of type 'System.DateTime' and 'System.Linq.IQueryable<System.DateTime?>'

Как я могу реализовать такой запрос?
Tks

1 Ответ

1 голос
/ 10 апреля 2011

Хорошо, я понял ... Мне нужно было добавить FirstOrDefault(), чтобы получить первый элемент

var query = 
    from cjto in oContext.t_table_1
    join cav in oContext.t_table_2 on cjto.cd_code equals cav.cd_code
    where cav.dt_time >= 
        (from tu in oContext.t_table3
        where tu.vl_code == "ABCD"
        select tu.dt_check_time).FirstOrDefault()
    select cav;

Tks

...