Как можно легко изменить порядок столбцов в конструкторе LINQ to SQL?

StackOverflow https://stackoverflow.com/questions/37882

  •  09-06-2019
  •  | 
  •  

Вопрос

При разработке классов LINQ с использованием конструктора LINQ to SQL мне иногда приходилось переупорядочивать классы, чтобы результирующие столбцы в DataGridView отображались в другом порядке. К сожалению, это кажется чрезвычайно сложным; вам нужно вырезать и вставлять свойства или удалять их и заново вставлять их вручную.

Я знаю , что вы можете довольно легко изменить порядок столбцов в DataGridView, однако это приведет к большому количеству жесткого кодирования, и я хочу, чтобы дизайнер соответствовал сетке.

Кто-нибудь знает какой-либо более простой способ достижения этого или вырезает / вставляет единственный доступный метод?

Я попытался вручную отредактировать файл .designer.cs, но переупорядочение свойств там, похоже, ничего не делает!

Редактировать . Просто чтобы прояснить: я хочу изменить порядок в конструкторе LINQ to SQL, а не в таблице. Я не сделал ошибку в заказе, требующем возврата к исходному макету таблицы; скорее, у меня есть таблица, в которой я хочу иметь другой порядок в Visual Studio, чем в SQL Server.

Это было полезно?

Решение

Используя Linq-to-Sql, столбцы в DataGridView могут выглядеть иначе, чем в исходной таблице:

<Ол>
  • В своем запросе Linq извлеките нужные столбцы в том порядке, в котором вы хотите, и сохраните их в переменной. Тогда автоматически генерируемые столбцы должны показывать их в таком порядке в DataGridView
  • Используйте столбцы шаблона в вашем DataGridView
  • Не используйте перетаскивание на поверхности конструирования Linq-to-Sql для создания объектов. Скорее, создайте их вручную и свяжите их с таблицей базы данных, используя свойства таблицы и столбца
  • Насколько я знаю, в самом конструкторе нет перестановки столбцов с помощью перетаскивания.

    Другие советы

    Откройте файл [DataClasses] .dbml в своем любимом редакторе XML и измените порядок элементов [Column] для таблицы. Сохраните и снова откройте (или перезагрузите) конструктор в Visual studio. Порядок столбцов, отображаемых в конструкторе, будет фиксированным.

    Если вы находитесь в сценарии, в котором вы изменили порядок столбцов в базе данных, и теперь вы хотите, чтобы этот новый порядок был отражен в конструкторе, я думаю, что вам нужно удалить таблицу из конструктора, а затем поместить ее снова Или если вы используете SqlMetal для генерации ваших классов Linq-to-Sql перезапустите его в своей базе данных и используйте созданный файл.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top