Как извлечь значение класса из хранимой процедуры - PullRequest
0 голосов
/ 27 мая 2019

Цель: использовать Fluent NHibernate для извлечения значения класса в переменную с помощью хранимой процедуры.

Проблема:

using (NHibernate.ISession session = FluentNHibernateHelper.OpenSession())
{
    var result = session.CreateSQLQuery("exec test :@data").SetParameter("data", data).AddEntity(typeof(Test));
}

Не работает, какой кодя пропускаю, чтобы получить значение теста класса в результате переменной?

Другими словами, я хотел бы получить значение 1, 2 и asdf в одном классе, а не в списке.

Я использую код C #.

Спасибо!

CREATE PROCEDURE [dbo].[test]
    @data INT
AS
BEGIN
    SELECT 
        1 as a,
        2 as b,
        'asdf' c
END
GO

Класс C #:

public class Test
{
    public virtual int a { get; set; }
    public virtual int b { get; set; }
    public virtual string c { get; set; }
}

public class TestMap : ClassMap<Test>
{
    public TestMap()
    {
        Id(x => x.a);
        Map(x => x.b);
        Map(x => x.c);
    }
}

1 Ответ

0 голосов
/ 01 июня 2019
.List<T>().Single();

Вы должны извлечь все данные и затем извлечь отдельные данные.

Не рекомендуемое решение, но оно решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...