Технически, да, вы можете.Все они являются публичными классами, живущими в пространстве имен NHibernate.Id
, поэтому вы можете создавать экземпляры и использовать любые из них в любое время.
На практике это зависит от того, какой из них вы хотите использовать.Некоторые из них довольно просты и не требуют каких-либо настроек или зависимостей, например CounterGenerator
, GuidCombGenerator
или UUIDStringGenerator
.Другим нужна сессия, как NativeGuidGenerator
.Другие должны быть настроены до того, как их можно будет использовать, например SequenceHiLoGenerator
.
Я не думаю, что NHibernate поддерживает использование генераторов, отличных от идентификаторов и idbags, поэтому их использование полностью зависит от вас.