Ответ 1
Да, с nhibernate вы можете автоматически генерировать и обновлять схемы.
var cfg = new Configuration();
cfg.Configure();
cfg.AddAssembly(typeof (aClassFromYourProject).Assembly);
new SchemaExport(cfg).Execute(false, true, false, false);
Обновление. Параметры перегрузки для SchemaExport.Execute изменились в версиях 3.x. Последний аргумент больше не нужен.
new SchemaExport(cfg).Execute(true, true, false);