1

我有一个关于设计流畅的存储库容器的问题。

实际上我想以这种方式获取数据:

IEnumerable list = RepositoryContainer
    .Of<Person>()
    .Where(p => p.name == "test")
    .Of<Member>()
    .Where(m => m.role == "role1")
    .GetItems()

GetItems()将只运行一个返回每个注册存储库上的项目的函数。

现在我的问题是,RepositoryContainer.Of<T> return IRepo<T>所以我不能用它制作链条。

我需要一种暴Of<T>露在外面的方法,但我不知道是否有任何最佳做法。

真正需要的是我可以用一种方法合并相同类型的项目。

4

0 回答 0