我们如何轻松地对LINQ to SQL Designer中的列进行重新排序?
时间:2020-03-05 18:45:58 来源:igfitidea点击:
当使用LINQ to SQL设计器设计LINQ类时,有时为了使DataGridView中的结果列以不同的顺序出现,我需要重新排序这些类。不幸的是,这似乎非常困难。我们需要剪切或者粘贴属性,或者删除它们并手动重新插入。
我知道我们可以在DataGridView中相当容易地对列进行重新排序,但是这将导致大量的硬编码,并且我希望设计人员与网格匹配。
有谁知道实现这一目标的任何更简便的方法,或者切割/粘贴唯一可用的方法?
我尝试手动编辑.designer.cs文件,但是重新排序属性似乎没有任何作用!
编辑:为了明确起见,我想重新排序LINQ to SQL设计器中的内容,而不是表中的内容。我在订购要求还原到原始表格布局方面没有犯错;而是我有一个表,希望在Visual Studio中拥有与在SQL Server中不同的顺序。
解决方案
回答
如果我们处于重新排序数据库中各列的情况,并且现在希望将此新顺序反映在设计器中,那么我认为我们必须从设计器中删除该表,然后将其重新放入。或者,如果我们使用SqlMetal生成Linq-to-Sql类,请在数据库上重新运行它并使用新生成的文件。
回答
使用Linq-to-Sql,可以通过以下方式使DataGridView中的列与原始表中的列不同:
- 在Linq查询中,按所需顺序提取所需的列,并将其存储在var中。然后,自动生成列应在DataGridView中按此顺序显示它们
- 在DataGridView中使用模板列
- 不要在Linq-to-Sql设计图上使用拖放来创建实体。而是手动创建它们,并使用表和列属性将它们与数据库表关联
据我所知,设计器本身没有拖放列的重新排序