2015-10-07 147 views
2

我正在做一个Windows窗体程序与Visual Studio,并已开始使用LINQ的第一次,我有一个数据库已经在SQL Server中设置并已链接它到我的视觉工作室程序。额外的列显示在DataGridView中,但不显示在SQL中

我添加了一个的DataGridView我的形式,把下面的代码加载数据库表到DGV的形式加载事件之一。

LINQDataClassesDataContext DB = new LINQDataClassesDataContext(); 
    var test (from s in DB.Student_Courses select s); 
    dgvDataTab1.DataSource = test; 

表数据加载到DGV但在结束“课程”和“学生” https://gyazo.com/212646a0f43c2588d4413bef33b24f5b

但2个额外的列时,运行在SQL Server上此表的SQL查询的2个额外的列不显示。

我也注意到在解决方案资源管理器中的LINQDataClasses下的Student_Course表有2个EntityRef,我不知道他们是什么或他们是如何得到他们的。

有没有人提出过这个问题?如果是的话如何删除它们,但仍然可以在DataGridView中添加/编辑。

她到我的数据库的链接添加LINQ https://gyazo.com/ae1959f18c4647525036c3070f6a8f07

亲切的问候 迈克尔

回答

0

你能做的投影?

LINQDataClassesDataContext DB = new LINQDataClassesDataContext(); 
var test = (from s in DB.Student_Courses select new { SID, CID , Mark }); 
dgvDataTab1.DataSource = test; 

你能隐藏那些列吗?

dgvDataTab1.Columns["Course"].Visible = false 
dgvDataTab1.Columns["Student"].Visible = false 
+0

您好,感谢reponce,我已经试过了一个只显示3列,我想,但带走能够在已隐藏他们从视图中的DataGridView – Michael

+0

没错酷添加/编辑,似乎我仍然可以添加/编辑,现在将尝试一些代码来添加/编辑,看看如何。谢谢 :) – Michael