数据访问设计模式

时间:2009-11-03 16:57:01

标签: design-patterns

我正在寻找一种模式,可以在将记录插入数据库时​​用于父子关系。由于子记录需要父记录首先存在,我必须使用讨厌的东西,如存储会话ID,然后在保存父记录后更新外键。

是否有任何熟知的模式可以解决这个问题。 问候 加雷

2 个答案:

答案 0 :(得分:0)

你似乎要么在父母之前或同时记录孩子,这可能是奇怪的。您的数据模型表明孩子们了解他们的父母,因此,数据表明父母要在其子女之前插入。您可能无法在单个查询中实现此目的,因为您所讨论的外键是指相同的表(A.parent -> A.id)。

答案 1 :(得分:0)

听起来你没有使用像NHibernate或Hibernate这样的框架而且你正在自己编写这个很好,但如果你有这个选项,你可能想看看现有的OR映射框架。如果您自己滚动并且需要进行链接插入,那么您可以使用存储库中的事务来执行这些操作,例如:

public class ParentRepository
{
    public void Save(Parent parent)
    {
        using (TransactionScope scope = new TransactionScope())
        {
           //Add you database code here to insert to both tables in a transaction
        }
    }
}