2010-05-15 6 views
0

Кто-то может сказать мне, как сделать этот запрос в EF1: выберите a.idAnimali, a.titolo, a.commenti, a.ordine, a.idcatanimali, table1.nomefoto FROM tabanimali как LEFT РЕГИСТРИРУЙТЕСЬ (SELECT idanimali, nomefoto tabfotoanimali ОТ LIMIT 1) КАК Table1 на a.idAnimali = table1.idanimali WHERE a.idcatanimali = idcatanimaleLeft Join with Entity Framework

Благодаря

ответ

1

Позвольте мне знать, если это работает для вас, я думаю, что у вас есть опечатка, и я предполагаю, что tabfotoanumali - это ваш второй стол.

var query = (from a in tabanimali 
    join p in tabfotoanimali.FirstOrDefault() on a.idanimali equals p.idanimali 
    where a.idcatanimali = idcatanimale 
    select new { 
      a.idAnimali, 
      a.titolo, 
      a.commenti, 
      a.ordine, 
      a.idcatanimali, 
      p.nomefoto 
    } 
); 
+0

Спасибо за ответ, но не работает дает мне следующую ошибку: «Тип выражения в предложении присоединиться к неверен Тип Умозаключение неудачу в вызове«Join'Then, я хотел сказать вам. что в вашем выражении я не видел LEFT JOIN.и слышал, что EF1 не принимает предложение DefaultIfEmpty.So Я попытался создать следующее выражение: var query = (from a in mareblu.tabanimali.Include ("tabfotoanimali") let topfoto a.tabfotoanimali.Select = (x => x.nomefoto) .Take (1) выбрать новый (ida = a.idAnimali, photo = topfoto)), но даже это не сработает. tabfotoanimali - моя вторая таблица – user307123