Я уверен, что упускаю очевидный ответ здесь, но могу использовать руку. Я новичок в SubSonic и использую версию 3. Я дошел до того, что могу запрашивать и вставлять, но я застрял в том, как мне вернуть значение столбца идентификации после моей вставки. Я видел еще один пост, в котором упоминаются шаблоны Linq. Я не использую их (по крайней мере, я не думаю, что я ...?)
ТИА
... ОБНОВЛЕНИЕ ...
Итак, я отлаживал свой код, наблюдая за тем, как работает код SubSonic, и обнаружил, где столбец идентификаторов игнорируется. Я использую int в качестве типа данных для столбцов идентификаторов в базе данных и задаю их как идентификаторы. Поскольку int является ненулевым типом данных в c #, логический тест в методе Add (public void Add (поставщик IDataProvider)), который проверяет, есть ли значение в ключевом столбце, выполняя (key == null), может быть вопрос. Код, который получает новое значение для поля идентификатора, находится в «истинном пути», поскольку int не может быть нулевым, и я использую int в качестве типов данных столбца идентификаторов, этот тест никогда не пройдет. Поле идентификатора для моего объекта содержит 0, которое я там не поместил. Я предполагаю, что это установлено во время инициализации объекта. Я с базы здесь? Является ли ответ изменить мои типы данных в базе данных?
Еще один вопрос (больше любопытство). Я заметил, что некоторые свойства в сгенерированных классах объявлены с? после типа данных. Я не знаком с этой конструкцией объявления ... что дает? Некоторые из них объявлены как int (не ключевые поля), а другие объявлены как int? (ключевые поля). Это как-то связано с тем, как они обрабатываются при инициализации?
Любая помощь приветствуется!
- BUMP -