По моему опыту, вам нужно использовать стиль nHibernate, чтобы у вас была какая-то карта между вашими объектами и базой данных. Это позволяет вашим объектам иметь некоторые вещи, которые трудно представить в базе данных, но которые легче представить в POCO.
Поколение дает вам начало, давая вам классы, которые соответствуют вашей схеме, но если вы планируете поддерживать что-либо или проверять что-либо, то теперь картирование - это боль для удовольствия.
Subsonic - отличная модель, и ее открытый исходный код, если вам нужно перейти к генерации, использует их шаблоны в myGeneration, чтобы поднять ногу.
КСТАТИ: я сделал то, что вы делаете, и я закончил с чем-то очень похожим на дозвуковой, и теперь советую своим клиентам взять дозвуковой источник и раскошелиться для себя.