同时添加/更新子记录和父记录

时间:2010-09-14 03:21:20

标签: asp.net asp.net-mvc

有人可以告诉我同时创建/更新父母和子女记录的最简单方法(如具有多个地址的客户),尽可能少或无代码? Web窗体和MVC。

1 个答案:

答案 0 :(得分:0)

基本思想是创建/更新父记录并返回新ID(密钥)。然后使用该键创建相关的子记录。例如,假设您有一个Events表和一个相关的EventDates表:

 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)
       {
           ...
       }

在这里保持数据完整性非常重要;如果其中一个更新失败,则两者都需要返回到原始状态。您可以自己实现或使用事务:

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