I would like to know how can I use my ViewModel on the Create Action? I tried several examples I found here in the forum, but none solved my problem. I've been racking my brain for a few days, but can't figure out what is wrong.Whenever I click the Create button I get the following error:No parameterless constructor defined for this object.\[code\]@model MvcMusicStore.ViewModels.AlbumViewModel@{ ViewBag.Title = "Create";}<h2>Create</h2><script src="http://stackoverflow.com/questions/12700943/@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script><script src="http://stackoverflow.com/questions/12700943/@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>@using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <legend>Album</legend> <div class="editor-label"> @Html.LabelFor(model => model.AlbumItem.GenreId, "Genre") </div> <div class="editor-field"> @Html.DropDownList("Genres", String.Empty) @Html.ValidationMessageFor(model => model.AlbumItem.GenreId) </div> <div class="editor-label"> @Html.LabelFor(model => model.AlbumItem.ArtistId, "Artist") </div> <div class="editor-field"> @Html.DropDownList("Artists", String.Empty) @Html.ValidationMessageFor(model => model.AlbumItem.ArtistId) </div> <div class="editor-label"> @Html.LabelFor(model => model.AlbumItem.Title) </div> <div class="editor-field"> @Html.EditorFor(model => model.AlbumItem.Title) @Html.ValidationMessageFor(model => model.AlbumItem.Title) </div> <div class="editor-label"> @Html.LabelFor(model => model.AlbumItem.Price) </div> <div class="editor-field"> @Html.EditorFor(model => model.AlbumItem.Price) @Html.ValidationMessageFor(model => model.AlbumItem.Price) </div> <div class="editor-label"> @Html.LabelFor(model => model.AlbumItem.AlbumArtUrl) </div> <div class="editor-field"> @Html.EditorFor(model => model.AlbumItem.AlbumArtUrl) @Html.ValidationMessageFor(model => model.AlbumItem.AlbumArtUrl) </div> <p> <input type="submit" value="http://stackoverflow.com/questions/12700943/Create" /> </p> </fieldset>}<div> @Html.ActionLink("Back to List", "Index")</div>\[/code\]Create.cshtml\[code\] public class StoreManagerController : Controller { private MusicStoreDB db = new MusicStoreDB(); // // GET: /StoreManager/Create public ActionResult Create() { var viewModel = new AlbumViewModel() { Genres = new SelectList(db.Genres, "GenreId", "Name"), Artists = new SelectList(db.Artists, "ArtistId", "Name") }; return View(viewModel); } // // POST: /StoreManager/Create [HttpPost] public ActionResult Create(AlbumViewModel vm) { if (ModelState.IsValid) { db.Albums.Add(vm.AlbumItem); db.SaveChanges(); return RedirectToAction("Index"); } vm.Genres = new SelectList(db.Genres, "GenreId", "Name", vm.AlbumItem.GenreId); vm.Artists = new SelectList(db.Artists, "ArtistId", "Name", vm.AlbumItem.ArtistId); return View(vm); }}\[/code\]StoreManager.cs - Snippet\[code\]public class AlbumViewModel { public AlbumViewModel() { // nothing } public Album AlbumItem { get; set; } public SelectList Genres { get; set; } public SelectList Artists { get; set; } }public class Album { public Album() { // nothing } public virtual int AlbumId { get; set; } public virtual int GenreId { get; set; } public virtual int ArtistId { get; set; } public virtual string Title { get; set; } public virtual decimal Price { get; set; } public virtual string AlbumArtUrl { get; set; } public virtual Genre Genre { get; set; } public virtual Artist Artist { get; set; } }public class Artist { public Artist() { // nothing } public virtual int ArtistId { get; set; } public virtual string Name { get; set; } }public class Genre { public Genre() { // nothing } public virtual int GenreId { get; set; } public virtual string Name { get; set; } public virtual string Description { get; set; } public virtual List<Album> Albums { get; set; } }\[/code\]