Если ваша хранимая процедура возвращает xml-строку, может помочь что-то вроде этого:
public XmlDocument FullSetXML(Guid ReviewUID)
{
using (ISession session = sessionManager.OpenSession())
{
IQuery query = session.CreateSQLQuery("exec rcs.ReviewFullSetXML ?");
query.SetGuid(0, ReviewUID);
var xmlString = query.UniqueResult().ToString();
var xmlDoc = XmlDocument();
doc.LoadXml(xmlString);
return doc;
}
}
В противном случае, если вам нужно загрузить тип данных SQL Server XML, посмотрите здесь ,В этом случае вы должны использовать SqlCommand
и SqlDatareader
без объектов NHibernate: просто возьмите ссылку на соединение из вашего сеанса. Соединение (вы должны выполнить приведение к SqlConnection
).
Если вам нужно отобразитьполе (кстати, похоже, не в твоем случае), взгляни здесь .Я никогда не пробовал, если вы можете использовать пользовательский IUserType
в «SqlQuery» с UniqueResult<..>()
: это может стоить попытки ..