my code is:
cliente.country = new list<dic_paises>(); dic_paises c = ((from data in db.dic_paises data.id == 61 select data).singleordefault()); cliente.country.add(new dic_paises() { id = c.id, nome = c.nome }); return view();
what want is, have table client, , table countries, want show clients in view instead of showing id of country stored in client want show country name, hard me done in mvc, because new mvc. tried view model did not expected.
public partial class cliente { public int id { get; set; } [stringlength(1024)] public string nome { get; set; } [stringlength(1024)] public string apelido { get; set; } [stringlength(1024)] public string email { get; set; } public list<dic_paises> country { get; set; } }
that's client model , here countries model:
public partial class dic_paises { public int id { get; set; } [required] [stringlength(1024)] public string nome { get; set; } }
this doing in controller, saw video on youtube ...
cliente cliente = db.clientes.find(id); if (cliente == null) { return httpnotfound(); } cliente.country = new list<dic_paises>(); dic_paises c = ((from data in db.dic_paises data.id == 61 select data).singleordefault()); cliente.country.add(new dic_paises() { id = c.id, nome = c.nome }); return view();
please can ...
here error ...
[sqlexception (0x80131904): invalid column name 'cliente_id'.]
system.data.sqlclient.sqlconnection.onerror(sqlexception exception, boolean breakconnection, action1 wrapcloseinaction) +2418094
1 wrapcloseinaction) +5694468
system.data.sqlclient.sqlinternalconnection.onerror(sqlexception exception, boolean breakconnection, action
system.data.sqlclient.tdsparser.throwexceptionandwarning(tdsparserstateobject stateobj, boolean callerhasconnectionlock, boolean asyncclose) +285
system.data.sqlclient.tdsparser.tryrun(runbehavior runbehavior, sqlcommand cmdhandler, sqldatareader datastream, bulkcopysimpleresultset bulkcopyhandler, tdsparserstateobject stateobj, boolean& dataready) +3731
system.data.sqlclient.sqldatareader.tryconsumemetadata() +58
system.data.sqlclient.sqldatareader.get_metadata() +89
system.data.sqlclient.sqlcommand.finishexecutereader(sqldatareader ds, runbehavior runbehavior, string resetoptionsstring) +379
system.data.sqlclient.sqlcommand.runexecutereadertds(commandbehavior cmdbehavior, runbehavior runbehavior, boolean returnstream, boolean async, int32 timeout, task& task, boolean asyncwrite, sqldatareader ds, boolean describeparameterencryptionrequest) +2064
system.data.sqlclient.sqlcommand.runexecutereader(commandbehavior cmdbehavior, runbehavior runbehavior, boolean returnstream, string method, taskcompletionsource1 completion, int32 timeout, task& task, boolean asyncwrite) +375
1 c) +14
system.data.sqlclient.sqlcommand.runexecutereader(commandbehavior cmdbehavior, runbehavior runbehavior, boolean returnstream, string method) +53
system.data.sqlclient.sqlcommand.executereader(commandbehavior behavior, string method) +240
system.data.sqlclient.sqlcommand.executedbdatareader(commandbehavior behavior) +41
system.data.common.dbcommand.executereader(commandbehavior behavior) +12
system.data.entity.infrastructure.interception.dbcommanddispatcher.<reader>b__c(dbcommand t, dbcommandinterceptioncontext
system.data.entity.infrastructure.interception.internaldispatcher1.dispatch(ttarget target, func
3 operation, tinterceptioncontext interceptioncontext, action3 executing, action
3 executed) +72
system.data.entity.infrastructure.interception.dbcommanddispatcher.reader(dbcommand command, dbcommandinterceptioncontext interceptioncontext) +402
system.data.entity.internal.interceptabledbcommand.executedbdatareader(commandbehavior behavior) +166
system.data.common.dbcommand.executereader(commandbehavior behavior) +12
system.data.entity.core.entityclient.internal.entitycommanddefinition.executestorecommands(entitycommand entitycommand, commandbehavior behavior) +36[entitycommandexecutionexception: error occurred while executing command definition. see inner exception details.]
system.data.entity.core.entityclient.internal.entitycommanddefinition.executestorecommands(entitycommand entitycommand, commandbehavior behavior) +103
system.data.entity.core.objects.internal.objectqueryexecutionplan.execute(objectcontext context, objectparametercollection parametervalues) +758
system.data.entity.core.objects.<>c__displayclass7.b__6() +90
system.data.entity.core.objects.objectcontext.executeintransaction(func1 func, idbexecutionstrategy executionstrategy, boolean startlocaltransaction, boolean releaseconnectiononsuccess) +288
1 operation) +190
system.data.entity.core.objects.<>c__displayclass7.<getresults>b__5() +154
system.data.entity.sqlserver.defaultsqlexecutionstrategy.execute(func
system.data.entity.core.objects.objectquery1.getresults(nullable
1 formergeoption) +283 system.data.entity.core.objects.objectquery1.<system.collections.generic.ienumerable<t>.getenumerator>b__0() +15 system.data.entity.internal.lazyenumerator
1.movenext() +45 system.linq.enumerable.singleordefault(ienumerable1 source) +121 system.data.entity.core.objects.elinq.objectqueryprovider.<getelementfunction>b__2(ienumerable
1 sequence) +40 system.data.entity.core.objects.elinq.objectqueryprovider.executesingle(ienumerable1 query, expression queryroot) +59 system.data.entity.core.objects.elinq.objectqueryprovider.system.linq.iqueryprovider.execute(expression expression) +114 system.data.entity.internal.linq.dbqueryprovider.execute(expression expression) +116 system.linq.queryable.singleordefault(iqueryable
1 source) +211 webapplication2.controllers.clientescontroller.details(nullable1 id) in c:\users\dani1\documents\visual studio 2015\projects\webapplication2\webapplication2\controllers\clientescontroller.cs:56 lambda_method(closure , controllerbase , object[] ) +107 system.web.mvc.actionmethoddispatcher.execute(controllerbase controller, object[] parameters) +14 system.web.mvc.reflectedactiondescriptor.execute(controllercontext controllercontext, idictionary
2 parameters) +157 system.web.mvc.controlleractioninvoker.invokeactionmethod(controllercontext controllercontext, actiondescriptor actiondescriptor, idictionary2 parameters) +27 system.web.mvc.async.asynccontrolleractioninvoker.<begininvokesynchronousactionmethod>b__39(iasyncresult asyncresult, actioninvocation innerinvokestate) +22 system.web.mvc.async.wrappedasyncresult
2.callenddelegate(iasyncresult asyncresult) +29 system.web.mvc.async.wrappedasyncresultbase1.end() +49 system.web.mvc.async.asynccontrolleractioninvoker.endinvokeactionmethod(iasyncresult asyncresult) +32 system.web.mvc.async.asyncinvocationwithfilters.<invokeactionmethodfilterasynchronouslyrecursive>b__3d() +50 system.web.mvc.async.<>c__displayclass46.<invokeactionmethodfilterasynchronouslyrecursive>b__3f() +225 system.web.mvc.async.<>c__displayclass33.<begininvokeactionmethodwithfilters>b__32(iasyncresult asyncresult) +10 system.web.mvc.async.wrappedasyncresult
1.callenddelegate(iasyncresult asyncresult) +10 system.web.mvc.async.wrappedasyncresultbase1.end() +49 system.web.mvc.async.asynccontrolleractioninvoker.endinvokeactionmethodwithfilters(iasyncresult asyncresult) +34 system.web.mvc.async.<>c__displayclass2b.<begininvokeaction>b__1c() +26 system.web.mvc.async.<>c__displayclass21.<begininvokeaction>b__1e(iasyncresult asyncresult) +100 system.web.mvc.async.wrappedasyncresult
1.callenddelegate(iasyncresult asyncresult) +10 system.web.mvc.async.wrappedasyncresultbase1.end() +49 system.web.mvc.async.asynccontrolleractioninvoker.endinvokeaction(iasyncresult asyncresult) +27 system.web.mvc.controller.<beginexecutecore>b__1d(iasyncresult asyncresult, executecorestate innerstate) +13 system.web.mvc.async.wrappedasyncvoid
1.callenddelegate(iasyncresult asyncresult) +29 system.web.mvc.async.wrappedasyncresultbase1.end() +49 system.web.mvc.controller.endexecutecore(iasyncresult asyncresult) +36 system.web.mvc.controller.<beginexecute>b__15(iasyncresult asyncresult, controller controller) +12 system.web.mvc.async.wrappedasyncvoid
1.callenddelegate(iasyncresult asyncresult) +22 system.web.mvc.async.wrappedasyncresultbase1.end() +49 system.web.mvc.controller.endexecute(iasyncresult asyncresult) +26 system.web.mvc.controller.system.web.mvc.async.iasynccontroller.endexecute(iasyncresult asyncresult) +10 system.web.mvc.mvchandler.<beginprocessrequest>b__5(iasyncresult asyncresult, processrequeststate innerstate) +21 system.web.mvc.async.wrappedasyncvoid
1.callenddelegate(iasyncresult asyncresult) +29 system.web.mvc.async.wrappedasyncresultbase`1.end() +49 system.web.mvc.mvchandler.endprocessrequest(iasyncresult asyncresult) +28 system.web.mvc.mvchandler.system.web.ihttpasynchandler.endprocessrequest(iasyncresult result) +9 system.web.callhandlerexecutionstep.system.web.httpapplication.iexecutionstep.execute() +9723757 system.web.httpapplication.executestep(iexecutionstep step, boolean& completedsynchronously) +155
the situation resolved ...
i guess call view model
public class clientecountry { public cliente cli { get; set; } public dic_paises country { get; set; } }
the controller code ...
cliente ccc = (from data in db.clientes data.id == id select data).firstordefault(); dic_paises ppp = (from data in db.dic_paises data.id == ccc.pais select data).firstordefault(); clientecountry cc = new clientecountry(); cc.cli = ccc; cc.country = ppp; viewbag.id = id; return view(cc);
where id parameter passed through view...
in view put ...
@model webapplication2.models.clientecountry
and able use properties ...
@html.displaynamefor(model => model.cli.nome) @html.displayfor(model => model.cli.nome) @html.displaynamefor(model => model.cli.apelido) @html.displayfor(model => model.cli.apelido) @html.displayname("country") @html.displayfor(model => model.country.nome)
anyway of guys, ...
Comments
Post a Comment