DataTable dt = new DataTable();
dt.Columns.Add("Name");
dt.Columns.Add("Age");
dt.Columns.Add("Money");
for (int i = 0; i < 1000; i++)
{
var newRow = dt.NewRow();
newRow["Name"] = "name";
newRow["Age"] = 23;
newRow["Money"] = 12M;
dt.Rows.Add(newRow);
}
var s= Mapper.Map<IDataReader, List<KD>>(dt.CreateDataReader());
public class KD
{
public string Name { get; set; }
public int Age { get; set; }
public decimal Money { get; set; }
}
请问映射为什么会失败, 怎么样映射???? 居然没有园豆了 ,坑爹
你如果要用automapper做这个的话。你要指定如何mapping.大约这样参考哈。自己琢磨
伪代码:
mapper.map<datarow,kd>()
.formember(kd=>kd.name,row=>row[name].tostring())
//todo
var listkd=mapper.map<list<kd>>(dt.rows)
补充一下专业的事情交给专业的人做。个人觉得automapper不适合这个。网上找要给helper做这个舒服多了
@calvinK:对的, 这种数据结构转换有很多封装好的类库,调用下泛型function就行了
@calvinK:
var kdlist = AutoMapper.Mapper.DynamicMap<List<KD>>(dt.CreateDataReader());
他这个可以用DynamicMap。
小伙,好消息: 你这个可以用DynamicMap
var kdlist = AutoMapper.Mapper.DynamicMap<List<KD>>(dt.CreateDataReader());
请问,我找不到AutoMapper.Mapper.DynamicMap,这个是要按照其他包么?
@Ixitly: 引用AutoMapper dll