额外的列显示在DataGridView,但不显示在SQL

本文关键字:显示 SQL DataGridView | 更新日期: 2023-09-27 18:16:42

我正在做一个Windows窗体程序与visual studio,并已开始使用LINQ第一次,我有一个数据库已在SQL Server中设置,并已将其链接到我的程序在visual studio。

我已经添加了一个DataGridView到我的表单,并在下面的代码加载一个数据库表到DGV在表单加载事件。

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

表数据加载到DGV,但在末尾有2个额外的列"Course"answers"Student"https://gyazo.com/212646a0f43c2588d4413bef33b24f5b

但是当我们在SQL Server中对这个表执行SQL查询时,没有显示这两个额外的列。

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

还有人反对这个吗?如果是这样,如何删除它们,但仍然能够在DataGridView中添加/编辑。

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

亲切的问候迈克尔。

额外的列显示在DataGridView,但不显示在SQL

你会做投影吗?

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