Линк к сущностям и SQL_Latin1_General_CP1_CI_AI - PullRequest
1 голос
/ 20 октября 2011

Я разрабатываю приложение, в котором мне нужно вставить имена, используя специальные символы, такие как áéíóúñ, и я использую linq для сущностей с Visual C #.

Мой сервер базы данных - это SQL 2008 express, и по умолчанию для моей базы данных используется SQL_Latin1_General_CP1251_CI_AS, однако я изменил параметры сортировки полей на SQL_Latin1_General_CP1_CI_AI, где мне нужно вставить специальные символы, упомянутые выше.

Если я вставлю имена со специальными символами, используя код, подобный следующему:

 Cliente cli = new Cliente()
            {
                Nombres = cliente.nombres,
                ApellidoP = cliente.apellidoP,
                ApellidoM = cliente.apellidoM,
                FechaNac = cliente.fechaNacimiento
            };
            context.clientes.AddObject(cli);
            context.SaveChanges();

Специальные символы переводятся в их эквиваленты, но если я вставляю имена со специальными символами непосредственно в базу данных (Management Studio), у меня не возникает проблем при вставке этих символов.

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

В чем может быть проблема?

1 Ответ

2 голосов
/ 26 октября 2011

Я не вижу ничего плохого в вашем коде или подходе.Кажется, это проблема с базой данных.Лучшим решением было бы изменить сортировку BD на SQL_Latin1_General_CP1_CI_AI, но это обычно трудно сделать, если вы проходите фазу разработки.

Вы можете попробовать одно из следующего:сущность или сущности, свойства поля которых содержат специальные символы из вашей модели, снова запустите обновление модели из базы данных и заново добавьте таблицы.Иногда обновления не достаточно, чтобы обновить сущности, и, возможно, ваша конфигурация сопоставления, специфичная для вашего поля, не учитывалась в первый раз.

Взгляните на этот пост .Возможно, проблема связана с дизайном ваших таблиц.

Или этот другой пост .Используя подобный подход, возможно, можно изменить параметры сортировки вашего BD (если он не используется другими приложениями - маловероятно).

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...