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 ) +1673    

automapper.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.ilist1[[skillkindle.bll.feedbacks.excelfeedbackrecord, skillkindle.bll, version=1.0.0.0, culture=neutral, publickeytoken=null]]. exception of type 'automapper.automappermappingexception' thrown.]
automapper.mappingengine.automapper.imappingenginerunner.map(resolutioncontext context) +433 automapper.mappingengine.map(object source, type sourcetype, type destinationtype, action
1 opts) +353
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) +655
system.web.mvc.controlleractioninvoker.invokeactionmethod(controllercontext controllercontext, actiondescriptor actiondescriptor, idictionary
2 parameters) +326
system.web.mvc.async.asynccontrolleractioninvoker.invokesynchronousactionmethod(controllercontext controllercontext, actiondescriptor actiondescriptor, idictionary2 parameters) +317
system.web.mvc.async.<>c__displayclass42.<begininvokesynchronousactionmethod>b__41() +219 system.web.mvc.async.<>c__displayclass8
1.b__7(iasyncresult ) +275 system.web.mvc.async.wrappedasyncresult1.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
1.end() +328 system.web.mvc.async.asyncresultwrapper.end(iasyncresult asyncresult, object tag) +492
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) +387
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
1.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.endexecutecore(iasyncresult asyncresult) +253 system.web.mvc.async.<>c
_displayclass4.b__3(iasyncresult ar) +275 system.web.mvc.async.wrappedasyncresult1.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
1.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.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

Popular posts from this blog

php - mySql Join with 4 tables -

css - Text drops down with smaller window -

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -