Я предлагаю по возможности избегать хранимых процедур с помощью NHibernate.
Могут существовать причины использовать хранимые процедуры.Это так, есть несколько способов использовать их с NHibernate.
Вызывать их напрямую как запрос (как вы делаете), указывать их как предопределенный запрос или вы даже можете определить их как способ выбора NHibernate,вставить или обновить объект.
В Ayende опубликовано сообщение *1008* о том, как использовать хранимые процедуры в файлах сопоставления.
В Codeproject * 1012 имеется сообщение * как их вызывать из кода.
О вашем коде:
AddEntity
добавляет не тип, а экземпляр сущности.Фактически он обращается к своему первичному ключу. - Хранимая процедура не может предоставить список продуктов.Только NHibernate, ORM, может читать объекты из базы данных.Когда вы вызываете хранимую процедуру, вы напрямую переходите в базу данных.
Я не понимаю последнее предложение о единственном и множественном числе.Это другой вопрос?