如何在LINQ to SQL设计器中轻松重新排序列?

时间:2008-09-01 12:37:31

标签: c# linq linq-to-sql

在使用LINQ to SQL设计器设计LINQ类时,我有时需要对类进行重新排序,以使DataGridView中的结果列以不同的顺序出现。不幸的是,这似乎非常困难;您需要剪切和粘贴属性,或删除它们并手动重新插入它们。

知道你可以在DataGridView中相当容易地重新排序列,但是这会导致很多硬编码,我希望设计师能够匹配网格。

有没有人知道实现这一目标的更简单方法,还是切割/粘贴唯一可用的方法?

我尝试手动编辑.designer.cs文件,但重新排序属性似乎没有做任何事情!

编辑:为了说清楚 - 我想重新排序LINQ to SQL设计器中的内容,而不是表格中的内容。我没有在订购需要恢复原始表格布局时出错;相反,我有一个表,我希望在Visual Studio中拥有与SQL Server不同的排序。

3 个答案:

答案 0 :(得分:1)

使用Linq-to-Sql,您可以使DataGridView中的列显示为与原始表中的列不同:

  1. 在Linq查询中,按照所需的顺序提取所需的列,并将它们存储在var中。然后autogenerate列应该在DataGridView
  2. 中按顺序显示它们
  3. 在DataGridView中使用模板列
  4. 不要在Linq-to-Sql设计图面上使用拖放来创建实体。而是手动创建它们并使用表和列属性将它们与数据库表相关联
  5. 据我所知,设计器本身没有拖放列重新排序

答案 1 :(得分:1)

在您喜欢的XML编辑器中打开[DataClasses] .dbml文件,然后重新排序表的[Column]元素。在Visual Studio中保存并重新打开(或重新加载)设计器。设计器中显示的列的顺序将是固定的。

答案 2 :(得分:0)

如果您处于重新排序数据库中列的方案中,并且您现在希望将此新订单反映在设计器中,我认为您必须从设计器中删除该表,然后将其放入再次。或者,如果使用SqlMetal生成Linq-to-Sql类,请在数据库上重新运行它并使用新生成的文件。