星空网 > 软件开发 > ASP.net

csharp:Nhibernate Procedure with CreateSQLQuery

<?

  

 

 

 /// <summary>    ///     /// </summary>    /// <param name="id"></param>    /// <returns></returns>    public IList<DuCardType> CardTypeSql(int id)    {      NHibernate.ISession session = this.SessionFactory.GetCurrentSession();      IList<DuCardType> card = new List<DuCardType>();      if (!object.Equals(session, null))      {        //写法1        //return _session.CreateQuery("from DuCardType c where c.CardTypeName='" + firstname + "'")        //  .List<DuCardType>();        //写法2:位置型参数        //return _session.CreateQuery("from DuCardType c where c.CardTypeName=?")        //  .SetString(0, firstname)        //  .List<DuCardType>();        //写法4.        //var sql = "select * from DuCardType";        //var query = session.CreateSQLQuery(sql)        //.AddScalar("CardTypeId", NHibernateUtil.Int32)        //.AddScalar("CardTypeName", NHibernateUtil.String)        //.AddScalar("CardTypeColor", NHibernateUtil.String)        //.SetResultTransformer(Transformers.AliasToBean<DuCardType>());        //result = query.List<DuCardType>();         //写法3:命名型参数(推荐)        var query = session.CreateSQLQuery("Select * FROM DuCardType where CardTypeId=:CardTypeId")          .SetInt32("CardTypeId", id)          .SetResultTransformer(Transformers.AliasToBean(typeof(DuCardType)));        card = query.List<DuCardType>();      }      return card;    }    /// <summary>    /// 存储过程    /// </summary>    /// <param name="id"></param>    /// <returns></returns>    public IList<DuCardType> CardTypeProcedures(int id)    {      //读到数据      IList<DuCardType> li = null;      NHibernate.ISession session = this.SessionFactory.GetCurrentSession();      string sql = @"exec proc_Select_DuCardType :CardTypeId";      IQuery query = session.CreateSQLQuery(sql)        .SetInt32("CardTypeId", id);      var list = query.List();      foreach (object[] item in list)      {        li =new List<DuCardType>();        var cardType = new DuCardType();        cardType.CardTypeId = (int)item[0];        cardType.CardTypeName = (string)item[1];        cardType.CardTypeColor = item[2].ToString();        li.Add(cardType);      }      //query = query.SetResultTransformer(Transformers.AliasToBean<OrderDto>());      //var list2 = query.List<OrderDto>();      var result = from cardType in li             orderby cardType.CardTypeName //名字排序             select cardType;      return li;    }

  

 /// <summary>  /// 2016 geovindu  /// </summary>  public static class IListConverDataTable  {    /// <summary>    ///     /// </summary>    /// <typeparam name="T"></typeparam>    /// <param name="data"></param>    /// <returns></returns>    public static DataTable ToDataTable<T>(this IList<T> data)    {      PropertyDescriptorCollection properties =        TypeDescriptor.GetProperties(typeof(T));      DataTable table = new DataTable();      foreach (PropertyDescriptor prop in properties)        table.Columns.Add(prop.Name, Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType);      foreach (T item in data)      {        DataRow row = table.NewRow();        foreach (PropertyDescriptor prop in properties)          row[prop.Name] = prop.GetValue(item) ?? DBNull.Value;        table.Rows.Add(row);      }      return table;    }    /// <summary>    ///     /// </summary>    /// <param name="list"></param>    /// <returns></returns>    public static DataTable ToDataTable(IList list)    {      DataTable result = new DataTable();      if (list.Count > 0)      {        PropertyInfo[] propertys = list[0].GetType().GetProperties();        foreach (PropertyInfo pi in propertys)        {          result.Columns.Add(pi.Name, pi.PropertyType);        }        for (int i = 0; i < list.Count; i++)        {          ArrayList tempList = new ArrayList();          foreach (PropertyInfo pi in propertys)          {            object obj = pi.GetValue(list[i], null);            tempList.Add(obj);          }          object[] array = tempList.ToArray();          result.LoadDataRow(array, true);        }      }      return result;    }  }

  




原标题:csharp:Nhibernate Procedure with CreateSQLQuery

关键词:Hibernate

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

旺季来临,电商交易欺诈值得警惕!:https://www.ikjzd.com/articles/10417
亚马逊站内站外流量来源解析!:https://www.ikjzd.com/articles/104172
Facebook引流要如何做?Facebook引流的六大技巧!:https://www.ikjzd.com/articles/104173
这样的选品方法,比一般运营技能值钱多了!:https://www.ikjzd.com/articles/104174
亚马逊经营理念深度解析!:https://www.ikjzd.com/articles/104175
2019年速卖通全球开店流程详解:https://www.ikjzd.com/articles/104177
夹江千佛岩景区门票(夹江千佛岩景区门票价格):https://www.vstour.cn/a/411232.html
武陵山大裂谷周围景点 武陵山大裂谷周围景点图片:https://www.vstour.cn/a/411233.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流