MySQL соединитель v.6.3.6 проблема с типом GUID в .NET - PullRequest
2 голосов
/ 27 мая 2011

У меня есть таблица с идентификатором GUID в mysql ( двоичный 16 ). Для выполнения операций CRUD я использую драйвер EF , который поставляется с установкой MySQL коннектора v.6.3.6 . При попытке вставить новый объект через EF происходит сбой с ошибкой {"Данные слишком длинные для столбца ' MyIdentifierColumnId ' в строке 1"}

MyIdentifierColumnId является двоичным 16 и переводится как GUID в .NET . Поэтому длина не должна быть проблемой.

Есть подсказки?

Ответы [ 2 ]

4 голосов
/ 28 мая 2011

Согласно http://dev.mysql.com/doc/refman/5.1/en/connector-net-connection-options.html столбцы, определенные как двоичные (16) или символы (36), рассматриваются как старые направляющие.В новой версии UUID введены и если мы хотим использовать Old Guids = true в строке подключения.

2 голосов
/ 06 февраля 2014

Ваш ответ был очень полезным, спасибо.Но у меня были проблемы с добавлением этого «Old Guids = true». Я не знал, как и где его добавить, у меня не получается подключитьсяТаким образом, для других было бы полезно иметь этот фрагмент кода:

 string connectionString;
 connectionString = "SERVER=" + server + ";" + "DATABASE=" +
 database + ";" + "UID=" + uid + ";" + "PASSWORD=" + password + ";Old Guids=true;";

 connection = new MySqlConnection(connectionString);
...