Как мы решаем все это “Преобразование из типа, DBNull для ввода Строки не является допустимой” злобностью?

Вы не можете создать индекс на просто части даты. Существует ли причина, к которой Вы имеете?

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

я думаю, что Вы найдете, что

SELECT * FROM transactionlist WHERE TranDateTime BETWEEN '2008-08-17' AND '2008-08-18'

эффективно и делает то, что Вы хотите.

6
задан hawbsl 6 January 2010 в 14:13
поделиться

2 ответа

Вот почему DataSets и DataTables:

  1. Хорошо для быстрого создания приложения, использующего простой доступ к данным (как вы упомянули).

  2. Не подходит для хорошо спроектированного корпоративного приложения - слишком много упрощений и обобщений.

Я обнаружил, что использование правильной объектной модели с привязкой к данным почти всегда превосходит использование DataSets и DataTables , и они могут иметь все (и даже больше!) функциональность, простоту использования и скорость использования DataSets и DataTables.

И вы не столкнетесь с такими проблемами, потому что ваша бизнес-модель не тесно связана в структуру вашей базы данных.

Мне еще предстоит встретить кого-нибудь, кто использовал бы такой фреймворк, как CSLA.

2
ответ дан 17 December 2019 в 20:33
поделиться

5. (или, может быть, 4b)

Используйте структуру, которая предоставляет вам функциональность NULL в вашем классе доступа к данным. Вышеупомянутая структура CSLA.NET (от Riko) использует класс SafeDataReader, который работает точно так же, как DataReader, но может преобразовывать все NULL в пустые значения для уровней доступа к данным и бизнес-логики.

0
ответ дан 17 December 2019 в 20:33
поделиться
Другие вопросы по тегам:

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