如何从存储过程中检索类的值

时间:2019-05-27 20:06:59

标签: c# nhibernate fluent-nhibernate

目标:使用Fluent NHibernate通过存储过程将类的值检索到变量中。

问题:

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

它不起作用,为了在变量结果中检索类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 :(得分:0)

.List<T>().Single();

您必须先检索所有数据,然后再检索单个数据。

不是推荐的解决方案,但可以解决问题。