Note that there are some explanatory texts on larger screens.

plurals
  1. POUpdating information in a database from a ViewModel in MVC3
    text
    copied!<p>Firstly, I'm very new to this so if this is a simple question answered elsewhere please just link me there; I don't want to waste anyone's time (I tried searching for a long time before posting).</p> <p>So, moving on, I'm having some trouble updating information in my database (Using EntityFramework) in an MVC3 project. I have a profile controller (using static info and the nullable int right now for testing) that looks like this:</p> <pre><code>public ViewResult Edit(int? memberID) { Member member = repository.Members.GetMember(12985); return View(new ProfileEditViewModel { MemberID = member.id, FirstName = member.fname, LastName = member.lname, HomePhone = member.home_phone, CellPhone = member.cell_phone, Address = member.street, City = member.city, State = member.state, Zip = member.zip, Email = member.email, Sex = member.sex, MemberType = member.membertype, TypeOfCar = member.typeofcar }); } </code></pre> <p>I've then got a strongly typed view that starts like this:</p> <pre><code>@using (Html.BeginForm()) { &lt;div class="editor-label"&gt; &lt;label for="fname"&gt;First Name:&lt;/label&gt; &lt;/div&gt; &lt;div class="editor-field"&gt; @Html.EditorFor(model =&gt; model.FirstName) @Html.ValidationMessageFor(model =&gt; model.FirstName) &lt;/div&gt; </code></pre> <p>and strings the form down for each attribute of my ViewModel except MemberID. It closes with </p> <pre><code>&lt;p&gt; &lt;input type="submit" value="Save" /&gt; @Html.ActionLink("Cancel", "Summary") &lt;/p&gt; </code></pre> <p>Back in my controller I then have the complementary method:</p> <pre><code> [HttpPost] public ActionResult Edit(ProfileEditViewModel memberViewModel) { Member member = repository.Members.GetMember(memberViewModel.MemberID); if (ModelState.IsValid) { member.fname = memberViewModel.FirstName; member.lname = memberViewModel.LastName; member.home_phone = memberViewModel.HomePhone; member.cell_phone = memberViewModel.CellPhone; member.street = memberViewModel.Address; member.city = memberViewModel.City; member.state = memberViewModel.State; member.zip = memberViewModel.Zip; member.email = memberViewModel.Email; member.sex = memberViewModel.Sex; member.membertype = memberViewModel.MemberType; member.typeofcar = memberViewModel.TypeOfCar; repository.Members.UpdateMember(member); return RedirectToAction("Summary"); } else { //there is something wrong with the data return View(member); } </code></pre> <p>The problem is that when I try to update a member's information I get a "Sequence contains no elements" error, even though i know that the MemberID i specified is valid since i was able to get to the update page, and I know the UpdateMember method works correctly since it was tested fully before this part of the project began. Where am I going wrong with the update?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload