如果在datagridview中没有父数据表,则不显示父数据表

问题描述 投票:0回答:1

我将尝试构建一些层叠的datagridview

layerID,LayerName(LayerID = PK)

Gor

LayerID,GorID,GorName(GorID = PK和LayerID = FK)

Gru

GorID,GruID,GruName(GruID = Pk和GorID = FK)

我以此代码开头

using (UnitOfWork db = new UnitOfWork())
            {

                DGVCharts.AutoGenerateColumns = false;


                var result = from layer in db.LayerRepository.Get()
                             join gor in db.GorRepository.Get() on layer.LayerID equals gor.LayerID

                             select new
                             {
                                 layer.LayerID,
                                 layer.LayerName,
                                 gor.GorID,
                                 gor.GorNumber,
                             };
                DGVCharts.DataSource = result.ToList();

            }

我使用顶级代码后,我看到了它,还可以enter image description here

现在我将尝试加载更多列,将代码扩展到此

using (UnitOfWork db = new UnitOfWork())
            {

                DGVCharts.AutoGenerateColumns = false;


                var result = from layer in db.LayerRepository.Get()
                             join gor in db.GorRepository.Get() on layer.LayerID equals gor.LayerID
                             join gru in db.GruRepository.Get() on gor.GorID equals gru.GorID
                             select new
                             {
                                 layer.LayerID,
                                 layer.LayerName,
                                 gor.GorID,
                                 gor.GorNumber,
                                 gru.GruID,
                                 gru.GruNumber
                             };
                DGVCharts.DataSource = result.ToList();

            }

更新我的代码后,我看到了这个

enter image description here

[哥伦(Gor Colum)的经理在哪里?经理没有孩子,我在datagridview中看不到经理!

我也可以看到经理吗?

c# sql linq join datagridview
1个回答
1
投票

通过使用Left join,如果在manager表中没有任何关系,则可以获得Gru。我正在测试LinqToObject

© www.soinside.com 2019 - 2024. All rights reserved.