Lambda表达式连接一对多关系,从而产生多个对象

时间:2017-06-01 11:32:42

标签: c# sql asp.net lambda

这是一个简单的问题,我在产品和图像中有2个产品和图像,如下所示

Products(Urun)
--------
ProductID(UrunID)
ProductName(UrunAdi)

IMages(Resimler)
-------
ImageID(ResimID)
ImageName(ResimAdi)
ProductID(UrunID)
Path(Path)

在asp.net中我使用转发器列出div中的产品但是我的lambda表达式结果;列出div而不是产品的图像(实际上是产品但是因为产品比其显示的每个图像都有更多的图像)

我可以将代码更改为仅显示1个图像,第一个图像是否可见?

()
right1.datasource = Contextim.MyContext.Urunlers.Join(Contextim.MyContext.Resimlers, u => u.UrunID, r => r.UrunID, (u, r) => new { UrunID = u.UrunID, UrunAdi = u.UrunAdi,OzellikID=u.OzellikID, Path = r.Path ,KategoriID=u.KategoriID }).ToList().Where(d=> d.KategoriID==catid).ToList();

1 个答案:

答案 0 :(得分:0)

该解决方案是否已使用

  right1.datasource =(From u in Contextim.MyContext.Urunlers
                      Join r in  Contextim.MyContext.Resimlers  on  u.UrunID  equals r.UrunID
                     Where u. KategoriID== catid
                     Group new {u,r}  by p. UrunID into jj
                     Select new {
                                  UrunID = jj.FirstOrDefault(). u.UrunID, 
                                  UrunAdi = jj.FirstOrDefault(). u.UrunAdi,
                                   OzellikID= jj.FirstOrDefault(). u.OzellikID,
                                   Path = jj.FirstOrDefault(). r.Path ,    
                                   KategoriID= jj.FirstOrDefault(). u.KategoriID
                                 }).ToList();