views:

42

answers:

1

Can someone please show me the easiest way to create/update a parent and child record at the same time (like customer with multiple addresses) with least or no code as possible? Both Web Forms and in MVC.

A: 

The basic idea would be to create/update the parent record and return the new ID (key). Then use that key to create the related child records. For example, say you have an Events table and a related EventDates table:

 public static int CreateEvent(
      out int eventId,
      DateTime datePosted,
      string title,
      string venue,
      string street1,
      string city,
      string state,
      string zipCode)
      {
          ...
      }

public static void AddEventDates(
       int eventDateID,
       int eventID, 
       DateTime startDate, 
       DateTime endDate)
       {
           ...
       }

It's important to maintain data integrity here; if one of the updates fails then both need to be returned to the original state. You could implement this yourself or use transactions:

http://msdn.microsoft.com/en-us/library/z80z94hz%28VS.90%29.aspx

IrishChieftain