2010-05-15 76 views
0

有人可以告诉我如何在EF1中执行此查询: 选择a.idAnimali,a.titolo,a.commenti,a.ordine,a.idcatanimali,table1.nomefoto FROM tabanimali作为LEFT JOIN (SELECT idanimali,nomefoto tabfotoanimali FROM LIMIT 1)表1 在a.idAnimali = table1.idanimali WHERE a.idcatanimali = idcatanimaleLeft与实体框架加入

感谢

回答

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 a mareblu.tabanimali.Include(“tabfotoanimali” )let topfoto a.tabfotoanimali.Select =(x => x.nomefoto).Take(1)select new(ida = a.idAnimali,photo = topfoto));然而,即使这样做也行不通tabfotoanimali是我的第二张表 – user307123 2010-05-16 07:45:47