Генерация PK через сиквенсы
От: Ziaw Россия  
Дата: 01.02.11 12:48
Оценка:
Работает ли это в автоматическом режиме (Oracle, Firebird) через InsertWighIdentity? Если да, то где можно пример посмотреть?

Если нет, то как проще допилить?

Я пока извернулся так, но мне скоро понадобится возвращаемое значение, не представляю как его взять

        [SqlProperty(ServerSideOnly = true)]
        [SqlProperty("Firebird", "gen_id(MY_SEQUENCE, 1)", ServerSideOnly = true)]
        [SqlProperty("Oracle", "MY_SEQUENCE.nextval", ServerSideOnly = true)]
        public static long NewId
        {
            get { throw new NotSupportedException("NewId is server side only"); }
        }


Проблема еще в том, что фаерберд делает постинкремент сиквенса, а оракл преинкремент. Идеологически правильным выходом будет только автоматический запрос нового Id перед выполнением insert.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.