Nhibernate通用方法来查询不同的模型

问题描述

我已经为nHibernate创建了一个通用函数,可以将List转换为Bean,但工作正常,但是我需要一种方法来以通用方式进行转换,而不用对我的查询调用AddScalar(如我的代码中所述)来假设我已经结束了50个模型pojo并想使用相同的通用方法提取记录列表,我该如何实现。 这是我想用于任何模型并传递关联查询的通用方法

public static IList<T> getRawQuery<T>(string query)//
        {
            IList<T> ls = new List<T>();
            ISession session = MyHibernateUtil.openSession();
            try
            {

               ls = session.CreatesqlQuery(@query)
                  .AddScalar("total",NHibernate.NHibernateUtil.Int32)//dont want to do this 
                  .AddScalar("product_name",NHibernate.NHibernateUtil.String)//this will force me to have several methods doing same work 
                  .AddScalar("barcode",NHibernate.NHibernateUtil.String)
                                                .SetResultTransformer(Transformers.AliasToBean(typeof(T)))
                                                .List<T>();

            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
             
            }
            finally
            {
                MyHibernateUtil.CloseSession(session);
            }
            return ls;

        }

这是我的模特之一

  public class SalesModel
    {
        public virtual String barcode { get; set; }
        public virtual String product_name { get; set; }
        public virtual int total { get; set; }
   
    }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)