Я использую конструктор наборов данных VS2010, чтобы сделать несколько запросов выбора с дополнительными параметрами, подобными этим:
SELECT CustomerID, FirstName, JoinDate, etc
FROM tblCustomers
WHERE (
(@CustomerID IS NULL OR CustomerID = @CustomerID) AND
(@FirstName IS NULL OR FirstName = @FirstName) AND
(@JoinedBefore IS NULL OR JoinDate < @JoinedBefore) AND
(@JoinedAfter IS NULL OR JoinDate > @JoinedAfter) AND
.. etc ..
)
Вывод для этих свойств типов данных и разрешить нулевой БД почти всегда неверен. В итоге я получаю строковые типы, установленные для даты и времени. Более половины полей всегда помечены как ненулевые.
Это, очевидно, наносит ущерб моим запросам. Я могу вручную изменить эти выводы, но каждый раз, когда мне нужно обновить TableAdapter, он сбрасывает их все к тому, что он считает лучшим! Кто-нибудь знает, как а) сделать правильные выводы или б) изменить их навсегда?