Я новичок в silverlight и, следовательно, доступ к данным в silverlight, так что несите меня. У меня есть модель данных сущностей ADO.Net, ссылающаяся на базу данных SQL Server 2008. Стол, вызывающий проблемы, называется транзакцией. Таблица транзакций имеет поле, не имеющее значения NULL "MerchantChain". Эта таблица заполняется другой программой, которая вставляет пустые строки в поле торговой сети, когда цепочка торговцев не предоставляется. Поэтому в моем приложении silverlight я загружаю сетку с транзакциями на основе критериев, предоставленных пользователем. Сетка предназначена только для отображения, но мне нужно иметь возможность обновлять статус транзакции после просмотра пользователем. Поэтому я устанавливаю поле transaction.status и пытаюсь подчинить. Перед отправкой транзакции транзакция. HasValidationErrors является ложной. Как только выполняются подчинения (в отладчике), HasValidationErrors является истинным, а submit выдает необработанное исключение. ValidationError - это то, что требуется поле торговой сети. Ну, его пустая строка - ее не пусто. Не знаю, что делать. Это визуальная студия 2010, silverlight 4, vb.net.Silverlight RIA Services SubmitChanges Ошибка проверки
ответ
[Требуется (AllowEmptyString = истина)]
Вы должны сделать пустую строку допускается. Перейдите в свой класс друзей и добавьте это. Более подробную информацию можно найти здесь:
Спасибо, работал чемпионом! Для VBers это файл [DomainServiceName] .metadata.vb. И синтаксис <Обязательный (AllowEmptyStrings: = True)> – Bob
Это просто я или MS, возможно, сделали намного лучше здесь? –
Я не совсем понимаю, что вы имеете в виду. Я предполагаю, что вы имеете в виду не требуя AllowEmptyString. Проверка выполняется на основе RequiredAttribute. Если бы было обязательное поле, связанное с текстовым полем, я бы хотел, чтобы моя проверка требовала от пользователя ввода текста в него, если я специально не разрешил его. Трудная часть заключается в том, что RIA передает эти атрибуты из базы данных. Поэтому разработчик db отметил поле строки «не null», поэтому по умолчанию RIA предполагает также «непустую строку». Идея этого, если я вижу [Требуется], я ожидаю, что пользователь должен будет войти в ЧТО-ТО. – JosephC
Ой мой симпат. Конструкция, которая делает поле непустым, но рассматривает пустую строку в таком поле, что приемлемое и ожидаемое значение задает проблемы. – AnthonyWJones
@ Пустые строки AnthonyWJones не совпадают с нулевыми строками. Рассмотрим запрос: SELECT * WHERE SomeString! = 'Foo', если SomeString не имеет значения NULL, в результирующем наборе будут содержаться пустые строковые значения, если они имеют значение NULL, эти нулевые строки будут отсутствовать. Пустая строка - «строка длины 0», NULL - «нет строки, длина, нет ничего» – Sprague
@ Eugarps: Umm .. хорошо спасибо за это. – AnthonyWJones