asp.net mvc - MVC Inner Join via Linq -


i try create product detail (accommodation details) view based on controller action:

 public actionresult detail(int id)     {          var detail = cities in _db.cities                      join properties in _db.properties on cities.cityid equals properties.cityid                      join proplocations in _db.proplocations on properties.locationid equals proplocations.locationid                      join proptypes in _db.proptypes on properties.typeid equals proptypes.typeid                      properties.propid == id                      select new                      {                          cities.cityname,                          proptypes.proptype1,                          proplocations.location,                          properties.propname,                          properties.propowner,                          properties.propstars,                          properties.propaddress,                          properties.propdescription,                          properties.maxguests,                          properties.propconditions,                          properties.propid                       };                  return view(detail.firstordefault());      } 

and because first time try create don't know how solve scaffolding template model .. get

server error in '/' application. model item passed dictionary of type '<>f__anonymoustype5`11[system.string,system.string,system.string,system.string,system.string,system.int32,system.string,system.string,system.int32,system.string,system.int32]', dictionary requires model item of type 'accomm2.models.property'.  

my model here:model

my autogen view:

@model accomm2.models.property 

@{ viewbag.title = "detail"; }

detail

property
<div class="display-label">cityid</div> <div class="display-field">@model.cityid</div>  <div class="display-label">typeid</div> <div class="display-field">@model.typeid</div>  <div class="display-label">locationid</div> <div class="display-field">@model.locationid</div>  <div class="display-label">propname</div> <div class="display-field">@model.propname</div>  <div class="display-label">propowner</div> <div class="display-field">@model.propowner</div>  <div class="display-label">propstars</div> <div class="display-field">@model.propstars</div>  <div class="display-label">propaddress</div> <div class="display-field">@model.propaddress</div>  <div class="display-label">propphone</div> <div class="display-field">@model.propphone</div>  <div class="display-label">propemail</div> <div class="display-field">@model.propemail</div>  <div class="display-label">propwebsite</div> <div class="display-field">@model.propwebsite</div>  <div class="display-label">propdescription</div> <div class="display-field">@model.propdescription</div>  <div class="display-label">maxguests</div> <div class="display-field">@model.maxguests</div>  <div class="display-label">propconditions</div> <div class="display-field">@model.propconditions</div> 

the view bound "accomm2.models.property" , "detail" object anonymous object, that's reason getting message.

for quick test can try

var prop = new property {

    // fields goes here 

}

return view(prop);

this quick stub code, ideally conversion should happen in separate layer.


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -