Используя Гуид, поскольку столбец Id в NHibernate вызывает исключение формата при использовании MySQL

var a= [1, 2,2,3,3,4,4,4];
var m=[];
var n = [];
a.forEach(function(e) {
  if(m.indexOf(e)=== -1) {
    m.push(e);
}else if(n.indexOf(e)=== -1){
    n.push(e);
}

});
5
задан l3dx 23 June 2009 в 20:10
поделиться

2 ответа

В документации по коннектору MySql указано, что начиная с версии 5.2 коннектора .NET они обрабатывают GUID как BINARY (16) , а не VARCHAR (40) .

Поскольку текущий диалект MySQL в nhibernate не обновляется, чтобы отразить это изменение (на самом деле , проблема подготовлена) вам нужно вручную преобразовать эти поля в BINARY (16) после nhibernate сгенерировать схему.

7
ответ дан 13 December 2019 в 05:41
поделиться

Еще одно обновление заключается в том, что последние разъемы используют Char(36)

Эта опция была введена в Connector/NET 6.1.1. Бэкэндное представление типа GUID было изменено с BINARY(16) на CHAR(36). Это сделано для того, чтобы разработчики могли использовать серверную функцию UUID() для заполнения таблицы GUID - UUID() генерирует 36-символьную строку. Разработчики старых приложений могут добавить в строку соединения 'Old Guids=true', чтобы использовать GUID типа данных BINARY(16).

5
ответ дан 13 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: