我将尝试构建一些层叠的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();
}
现在我将尝试加载更多列,将代码扩展到此
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();
}
更新我的代码后,我看到了这个
[哥伦(Gor Colum)的经理在哪里?经理没有孩子,我在datagridview中看不到经理!
我也可以看到经理吗?
通过使用Left join,如果在manager
表中没有任何关系,则可以获得Gru
。我正在测试LinqToObject