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);
}