c# - automapper showing error "Specified cast is not valid." -
i getting error while mapping datatable model
here code
if (file.contentlength > 0) { var extension = path.getextension(file.filename); if (extension != null && extension.tolower() != ".xlsx") { return "please upload file extension .xlsx"; } stream stream = file.inputstream; iexceldatareader excelreader = excelreaderfactory.createopenxmlreader(stream); excelreader.isfirstrowascolumnnames = true; dataset result = excelreader.asdataset(); if (result.tables.count > 0) { mapper.reset(); mapper.createmap<idatareader, excelfeedbackrecord>(); var results = mapper.map<idatareader, ilist<excelfeedbackrecord>>(result.tables[0].createdatareader()); } return result.tables[0].rows.count.tostring(); } stack trace error below
[invalidcastexception: specified cast not valid.] dynamiccreate(idatarecord ) +1673automapper.mappers.datareadermapper.map(resolutioncontext context, imappingenginerunner mapper) +433
automapper.mappingengine.automapper.imappingenginerunner.map(resolutioncontext context) +347[automappermappingexception: trying map system.data.idatareader system.collections.generic.ilist
1[[skillkindle.bll.feedbacks.excelfeedbackrecord, skillkindle.bll, version=1.0.0.0, culture=neutral, publickeytoken=null]]. exception of type 'automapper.automappermappingexception' thrown.]1 opts) +353
automapper.mappingengine.automapper.imappingenginerunner.map(resolutioncontext context) +433 automapper.mappingengine.map(object source, type sourcetype, type destinationtype, action
automapper.mappingengine.map(tsource source) +564
automapper.mapper.map(tsource source) +461
skillkindleadmin.controllers.feedbackcontroller.excelupload(httppostedfilebase file) in d:\skill online\trunk\skillkindleadmin\controllers\feedbackcontroller.cs:57
lambda_method(closure , controllerbase , object[] ) +107
system.web.mvc.actionmethoddispatcher.execute(controllerbase controller, object[] parameters) +286
system.web.mvc.reflectedactiondescriptor.execute(controllercontext controllercontext, idictionary2 parameters) +6552 parameters) +326
system.web.mvc.controlleractioninvoker.invokeactionmethod(controllercontext controllercontext, actiondescriptor actiondescriptor, idictionary
system.web.mvc.async.asynccontrolleractioninvoker.invokesynchronousactionmethod(controllercontext controllercontext, actiondescriptor actiondescriptor, idictionary2 parameters) +3171.b__7(iasyncresult ) +275 system.web.mvc.async.wrappedasyncresult
system.web.mvc.async.<>c__displayclass42.<begininvokesynchronousactionmethod>b__41() +219 system.web.mvc.async.<>c__displayclass81.end() +328 system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +4921.end() +328 system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +492
system.web.mvc.async.asynccontrolleractioninvoker.endinvokeactionmethod(iasyncresult asyncresult) +261
system.web.mvc.async.<>c__displayclass39.<begininvokeactionmethodwithfilters>b__33() +268 system.web.mvc.async.<>c__displayclass4f.<invokeactionmethodfilterasynchronously>b__49() +461 system.web.mvc.async.<>c__displayclass37.<begininvokeactionmethodwithfilters>b__36(iasyncresult asyncresult) +235 system.web.mvc.async.wrappedasyncresult
system.web.mvc.async.asynccontrolleractioninvoker.endinvokeactionmethodwithfilters(iasyncresult asyncresult) +262
system.web.mvc.async.<>c_displayclass2a.b_20() +203 system.web.mvc.async.<>c_displayclass25.b_22(iasyncresult asyncresult) +392 system.web.mvc.async.wrappedasyncresult1.end() +316 system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +3871.end() +333
system.web.mvc.async.asynccontrolleractioninvoker.endinvokeaction(iasyncresult asyncresult) +285
system.web.mvc.<>c__displayclass1d.<beginexecutecore>b__18(iasyncresult asyncresult) +234
system.web.mvc.async.<>c__displayclass4.<makevoiddelegate>b__3(iasyncresult ar) +275 system.web.mvc.async.wrappedasyncresult
system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +397
system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +266
system.web.mvc.controller.endexecutecore(iasyncresult asyncresult) +253 system.web.mvc.async.<>c_displayclass4.b__3(iasyncresult ar) +275 system.web.mvc.async.wrappedasyncresult1.end() +3331.end() +333
system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +397
system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +266 system.web.mvc.controller.endexecute(iasyncresult asyncresult) +254
system.web.mvc.controller.system.web.mvc.async.iasynccontroller.endexecute(iasyncresult asyncresult) +226
system.web.mvc.<>c__displayclass8.<beginprocessrequest>b__3(iasyncresult asyncresult) +230
system.web.mvc.async.<>c__displayclass4.<makevoiddelegate>b__3(iasyncresult ar) +275 system.web.mvc.async.wrappedasyncresult
system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +397
system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +266
system.web.mvc.mvchandler.endprocessrequest(iasyncresult asyncresult) +255 system.web.mvc.mvchandler.system.web.ihttpasynchandler.endprocessrequest(iasyncresult result) +225
system.web.callhandlerexecutionstep.system.web.httpapplication.iexecutionstep.execute() +1086 system.web.httpapplication.executestep(iexecutionstep step, boolean& completedsynchronously) +603
are sure columns returned datareader match property fields in object excelfeedbackrecord, including casing? if not, you'll have add configuration when creating map.
Comments
Post a Comment