[linq2db] - MySQL: маппинг для Guid
От: Svjat Украина  
Дата: 29.02.16 08:10
Оценка:
привет

в базе поле — Binary(16)
как замапить на него Guid поле?

т.е. должно быть что-то вроде
GetValue - ToByteArray();
SetValue - new Guid( (byte[])value );

нашел старые вопросы, еще по bltkit — Re: GUID...
Автор: Блудов Павел
Дата: 12.04.06
, но то решение уже не актуально, аналогов сходу не нашел

спасибо
Re: [linq2db] - MySQL: маппинг для Guid
От: rameel https://github.com/rsdn/CodeJam
Дата: 01.03.16 11:02
Оценка:
Здравствуйте, Svjat, Вы писали:

S>в базе поле — Binary(16)

S>как замапить на него Guid поле?

Попробуй воспользоваться SetConverterExpression у MappingSchema. Вот тут пример: Re[3]: [Linq2db] UTC в датах
Автор: IT
Дата: 17.12.14
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re: [linq2db] - MySQL: маппинг для Guid
От: MozgC США http://nightcoder.livejournal.com
Дата: 01.03.16 14:44
Оценка:
Если у вас используется MySQL Connector/Net, то

Table 7.1 Connector/Net Connection String Options — General
Name Default Description
Old Guids, OldGuids false This option was introduced in Connector/Net 6.1.1. The backend representation of a GUID type was changed from BINARY(16) to CHAR(36). This was done to allow developers to use the server function UUID() to populate a GUID table — UUID() generates a 36-character string. Developers of older applications can add 'Old Guids=true' to the connection string to use a GUID of data type BINARY(16).
отсюда — Connector/Net Connection String Options Reference
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.