NHibernate和AutoMapper

问题描述:

对NHibernate运行原始SQL,然后使用AutoMapper将它推入List的最佳方式是什么?NHibernate和AutoMapper

例子:

public virtual List<T> GetList<T>(string mainsql) 
{ 
    IQuery q = GetSession().CreateSQLQuery(mainsql); 
    IEnumerable srcAllRows = q.List(); 
    List<T> targetAllRows = new List<T>(); 
    *** do AutoMapper thing to get srcAllRow to targetAllRows *** 
    return targetAllRows; 
} 

这是我结束了在做AutoMapper事情部分

public virtual List<T> GetList<T>(string mainSql) 
{ 
    DataTable ldt = new DataTable();   
    StartReader(mainSql); //load a reader with data. 

    ldt.Load(reader); 
    DataTableReader rdr = ldt.CreateDataReader(); 

    return (List<T>)Mapper.Map<IDataReader, IList<T>>(rdr); 
}