我正在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/