Из документации NHibernate , это мало что объясняет.
В чем разница между этими тремя?
В какой ситуации один из этих контекстов предпочтительнее, чем другие?
PS ThreadLocalSessionContext
не существует в документации, но существует в NHibernate dll.