具有分层数据结构的存储库模式

时间:2012-02-17 16:22:26

标签: .net repository-pattern data-access-layer

我有一个分层数据结构(它存储在xml文件中),我希望将数据层封装在某种接口中,以便从业务层访问数据。

似乎包含工作单元的存储库模式可能是封装数据模型的好方法,但我真的不知道该怎么做..:

我的数据分组如下

  • TestPlan中
    • TestSequence列表
      • TestMethod的
      • GroupReference
      • TestMethod等
    • GroupsOfTestmethods列表
        • 测试方法列表
          • TestMethod的
          • GroupReference
          • TestMethod的
      • Group etc

我已经尝试了几个,但似乎Repository / UoW patteen适用于映射平面表而不是层次结构。

例如,制作

interface IRepository<T>
{
    void Add(T entity);
    void Remove(T entity); 
    T GetByName(string name);
    IEnumerable<T> GetAll();
}

然后是

interface IUnitOfWork
{
    IRepository<Group> GroupsOfTestmethods { get; }
    IRepository<groupitembase> TestSequence { get; } // groupitembase is base class for TestMethod and GroupReference
    void Save();
}

现在,如果我想要一个TestMethod,我必须遍历TestSequence列表和GroupsOfTestmethods中的所有组,以确保找到它。但是,如果有一个公共函数来获取TestMethod项,无论它位于什么列表中,都会很高兴。

有关如何构建Repository / UoW实现或任何数据访问层到层次结构的任何建议吗?

问候安德斯

0 个答案:

没有答案