Part one of this tutorial can be found here
http://howtodomssqlcsharpexcelaccess.blogspot.ca/2013/03/mvc-4-simple-crud-entity-framework.html
We will have to edit the following code:
We will pass our composite primary key to edit, details and delete functions
@Html.ActionLink("Edit", "Edit", new { Styleid=item.style_id, ColorId = item.colour_id }) |
@Html.ActionLink("Details", "Details", new {Styleid=item.style_id, ColorId = item.colour_id}) |
@Html.ActionLink("Delete", "Delete", new { Styleid=item.style_id, ColorId = item.colour_id })
Modify TestController methods - ensure they are receiving StyleId and ColorId
For instance Edit method will look like this
public ActionResult Edit(int StyleId = 0, int ColorId = 0)
{
TestCompositePrimary testcompositeprimary = db.TestCompositePrimaries.Find(StyleId,ColorId);
if (testcompositeprimary == null)
{
return HttpNotFound();
}
ViewBag.colour_id = new SelectList(db.ColorMasters, "ColourId", "ColourName", testcompositeprimary.colour_id);
ViewBag.style_id = new SelectList(db.StyleMasters, "StyleId", "StyleName", testcompositeprimary.style_id);
return View(testcompositeprimary);
}
Run the program - go to http://localhost:50566/Test and try to edit or delete some records - this time it will work perfectly.
Part 1 of this tutorial can be found here
http://howtodomssqlcsharpexcelaccess.blogspot.ca/2013/03/mvc-4-simple-crud-entity-framework.html
Thanks lot
ReplyDeleteSaved me a lot of my time
Thanks for the tutorial.
ReplyDeleteI have a similar database but the key is composed by 4 variables (2 of them are foreign keys) and all of them are strings.
I followed your example step by step but it's not working. Any idea why that might be? Is it because they're strings?
Thanks for this tutorial.
ReplyDeleteTestCompositePrimary testcompositeprimary = db.TestCompositePrimaries.Find(StyleId,ColorId);
ReplyDeleteCan not find "Find", any idea why?