nHibernate падает, сохраняя <300 символов в строке - PullRequest
0 голосов
/ 07 апреля 2011

Мое веб-приложение (.net v4) использует nHibernate для сохранения значений обратно в (sql08 R2) БД. Операция UPDATE принимает форму и сохраняет содержимое обратно в БД. Материал работает правильно, пока длина одного из включенных полей не превысит пару сотен символов.

VS выбрасывает исключение ADO:

NHibernate.Exceptions.GenericADOException был не обработан кодом пользователя
Сообщение = не удалось обновить: [MyProject.Business.Entity.Order # 26718] [SQL: ОБНОВЛЕНИЕ заказов SET orderDate =?, shipmentTotal =?, всего =?, firstName =?, lastName =?, customerInstitution =?, телефон =?, электронная почта =?, адрес =?, город =?, state =?, zip =?, shippingFirstName =?, shippingLastName =?, shippingAddress =?, shippingCity =?, shippingState =?, shippingZip =?, shippingPhone =?, paymentType =?, generalComments =?, auditInfo =?, storeComments =?, storeCommentsPriv = ?, taxExempt =?, initBy =?, paidByCCNumber =?, idUser =?, idAffiliate =? ГДЕ idOrder =?]
Источник = myProject.DataAccess
SqlString = ОБНОВЛЕНИЕ заказов SET SET OrderDate =?, shipmentTotal =?, total =?, firstName =?, lastName =?, customerInstitution =?, телефон =?, электронная почта =?, адрес =?, город =?, state =?, zip =?, shippingFirstName =?, shippingLastName =?, shippingAddress =?, shippingCity =?, shippingState =?, shippingZip =?, shippingPhone =?, paymentType =?, generalComments =?, auditInfo =?, storeComments =?, storeCommentsPriv = ?, taxExempt =?, initBy =?, paidByCCNumber =?, idUser =?, idAffiliate =? ГДЕ idOrder =?

Веб-страница получает ошибку во время выполнения:

String or binary data would be truncated.

Очевидно, что это не самый короткий список полей, но, конечно, он не расширяет пределы емкости. Строка, которая вызывает ошибку, отправляется в поле varchar, изначально установленное в varchar (MAX) - я набрал его обратно в varchar (3000) - но, как я уже сказал - ошибки отбрасываются до того, как длина превышает 300 символов .

Я не вижу определения длины поля нигде на стороне вещей nHibernate (в классах VS), но не являюсь кодером nHibernate, я вроде вслепую разбираюсь в вещах. Сообщение «... будет усечено». Конечно, звучит так, будто это жалуется на дб, но VS сначала слышит об исключении ADO, поэтому я не уверен, что делать дальше.

ТНХ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...