Я использую SQL Server 2005 и .Net 2.0.
У меня есть несколько таблиц, которые должны хранить данные на нескольких языках в одном столбце.
Например. таблица Article с ArticleID (идентификатор) и ArticleName (nvarchar 100)
Данные в ArticleName могут быть на разных языках.
В моей базе данных используется сопоставление по умолчанию SQL_Latin1_General_CP1_CI_AS,
так как большинство наших данных на английском языке.
Каждый пользователь в моем приложении может выбрать предпочитаемую им культуру.
В пользовательском интерфейсе данные товаров отображаются в сетке данных, и пользователь может сортировать их по ArticleName.
В данный момент порядок сортировки неверный из-за сопоставления моей базы данных.
Я подумываю об этом, используя предложение ORDER BY ... COLLATE.
Но как мне сопоставить правильную пользовательскую культуру с сопоставлением SQL Server?
Нужно ли указывать для каждой культуры, как это -
например. если культура = z-CN (китайский КНР), используйте сопоставление Chinese_PRC_CI_AS
и так далее ...
Есть ли лучший способ получить параметры сортировки?
Мой подход правильный? Или есть лучший способ справиться с этим?
(Я действительно думал о том, чтобы выполнить сортировку в .Net, но это кажется пустой тратой процессорного времени.)
Спасибо за чтение.