Доступ к базе данных C#: DBNull по сравнению с пустым указателем

Я понимаю, что это старый вопрос, но есть еще один вариант, о котором никто не упомянул. Вместо того, чтобы полностью отключить эту полезную функциональность, мы можем включить функциональность, но просто удалим раздражающие инструменты времени выполнения из верхней части наших приложений:

Этот параметр можно снять в следующем месте:

Инструменты> Параметры> Отладка> Общие> Включить инструменты отладки пользовательского интерфейса для XAML> Показывать инструменты времени выполнения в приложении

blockquote >

13
задан burning_LEGION 11 August 2012 в 16:08
поделиться

4 ответа

Я нахожу, что он лучше использует пустой указатель вместо пустого указателя DB.

причина состоит в том, потому что, поскольку Вы сказали, Вы разделяете себя от мира DB.

Это - обычно хорошая практика для проверки ссылочных типов, чтобы гарантировать, что они не являются пустыми так или иначе. Вы собираетесь быть проверкой пустой указатель для вещей кроме данных DB, и я нахожу, лучше сохранять непротиворечивость через систему и пустой указатель использования, не DBNull.

В конечном счете, архитектурно я нахожу, что это лучшее решение.

15
ответ дан 1 December 2019 в 21:25
поделиться

Если бы Вы записали свой собственный ORM, то я сказал бы просто, что пустой указатель использования, так как можно использовать его однако, Вы хотите. Я полагаю, что DBNull первоначально использовался только для обхождения того, что значение вводит (интервал, DateTime, и т.д.) не мог быть пустой указатель, так вместо того, чтобы возвратить некоторое значение как нуль или DateTime. Минута, которая была бы , подразумевает пустой указатель (плохо, плохо), они создали DBNull для указания на это. Возможно, был больше к нему, но я всегда предполагал, что это было причиной. Однако теперь, когда у нас есть nullable типы в C# 3.0, DBNull больше не необходим. На самом деле LINQ к SQL просто использует пустой указатель повсеместно. Никакая проблема вообще. Обнимитесь будущее... используют пустой указатель.;-)

7
ответ дан 1 December 2019 в 21:25
поделиться

На основе опыта я имел.NET, DataTables и TableAdapters работают лучше с DBNull. Это также открывает несколько специальных методов, когда со строгим контролем типов, таких как DataRow. IsFirstNameNull, когда на месте.

мне жаль, что я не мог дать Вам лучший технический ответ, чем это, но для меня нижняя строка является использованием DBNull при работе со связанными с базой данных объектами, и затем используйте "стандартный" пустой указатель, когда я имею дело с объектами и связанным с.NET кодом.

3
ответ дан 1 December 2019 в 21:25
поделиться

Используйте DBNull.
Мы encouintered своего рода проблемы при использовании пустого указателя.
, Если я вспоминаю правильно, Вы не можете ВСТАВИТЬ нулевое значение в поле, только DBNull.
Могла быть Oracle, связанная только, извините, я больше не знаю детали.

1
ответ дан 1 December 2019 в 21:25
поделиться
Другие вопросы по тегам:

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