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