Синтаксический анализ представления guid

Я использую сопоставление с помощью подхода кода и соглашения для генерации таблиц sqllite db на лету.

Свойство Id отображается так с помощью алгоритма Guid.Comb.

Id(x => x.Id, m => m.Generator(Generators.GuidComb));

Тесты вроде бы нормальные, кроме одной вещи, внутри моей таблицы БД свойство Id вставлено в таком формате X'0A16BBC77771594D9990A166014C54F6',

Мне интересно, почему сохраняется таким образом, а не в формате, как aaaef973-d8ce-4c92-95b4-3635bb2d42d5и как я могу разобрать это представление guid X'0A16BBC77771594D9990A166014C54F6'

Спасибо

ОБНОВЛЕНИЕ: благодаря ответам ниже я попробовал как следующее

Guid id = Guid.ParseExact("X'0A16BBC77771594D9990A166014C54F6'", "N");

теперь я получаю эту ошибку

Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

Мне не нужно строковое представление Guid, я хочу использовать его в качестве идентификатора при запросе базы данных, как p = session.Get<Permission>(id);

2 ответа

Решение

Вы можете создать гид, используя это:

System.Guid.NewGuid().ToString("N").ToUpper()

Который будет генерировать GUID в этом формате:

D51A752B70E743B0BA903DE7A3FFDF91

к которому можно добавить X'

string finalFormatted = "X'" + System.Guid.NewGuid().ToString("N").ToUpper();

Конечно, отрегулируйте соответственно (дух). Если у вас уже есть GUID, просто используйте

string finalFormatted = "X'" + theGuidYouAlreadyHave.ToString("N").ToUpper();

Обновить

Теперь я понял, что вы хотите разобрать. Здесь это идет:

string yourGuidString = "X'D51A752B70E743B0BA903DE7A3FFDF91";
Guid g = Guid.ParseExact(yourGuidString.Replace("X'",""), "N");

почему так сохраняется?

Вероятно, он просто хранится как 128-битное числовое поле, а не как строка. Синтаксис для вставки guid может просто не требовать тире.

как я могу разобрать это представление guid

использование Guid.ParseExact с "N" спецификатор формата:

string x = "X'0A16BBC77771594D9990A166014C54F6'";
Guid g = Guid.ParseExact(x.Substring(2,32), "N");
Другие вопросы по тегам