Если я записываю строку в таблицу SQL Server с использованием Entity Framework (перенесла существующую базу данных в EF), а затем измеряю длину строки в SQL Server Management Studio, моя строка слишком длинная.Похоже, что разные типы сортировки добавляют кучу пробелов в конце строки.
Нужно ли явно устанавливать тип сортировки для EF?Если да, то есть ли лучший метод, чем this ?
Получил параметры сортировки по умолчанию:
SELECT SERVERPROPERTY('collation') SQLServerCollation
Результат:
SQL_Latin1_General_CP1_CI_AS
Я измерялстрока, подобная этой (возвращает 51 символ, если строка «Билл»):
SELECT
LEN(CONCAT(first_name, '!' COLLATE SQL_Latin1_General_CP1_CI_AS))
FROM
[GreenCardSite].[dbo].[AppUser]
WHERE
user_id = 16840
Обратите внимание, что!добавляется в конец строки, потому что по умолчанию SQL Server не измеряет пробелы при расчете длины.Кроме того, когда я запустил это без указания параметров сортировки, я получил ошибку:
Невозможно разрешить конфликт параметров сортировки между «SQL_Latin1_General_CP1_CI_AS» и «Latin1_General_100_CI_AS» в операции concat.
AppUser
EF класс:
[Table("AppUser")]
public partial class AppUser
{
[Key]
public int user_id { get; set; }
[StringLength(50)]
public string first_name { get; set; }
[StringLength(50)]
public string last_name { get; set; }
.....