我正在Visual Studio中执行Windows窗体程序,并且第一次开始使用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个额外的列https://gyazo.com/212646a0f43c2588d4413bef33b24f5b

但是,当在SQL Server中对该表运行SQL查询时,不会显示这两个额外的列。

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

还有其他人反对吗?以及如何删除它们,但仍然可以在DataGridView中添加/编辑。

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

亲切的问候
麦可

最佳答案

你可以投影吗?

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

关于c# - 多余的列显示在DataGridView中,但不显示在SQL中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32982959/

10-09 06:03
查看更多