use*_*312 0 c# repository-pattern .net-2.0
如何在C#.net 2.0中实现存储库模式?
只是告诉我基本结构.因为我们在.net 2.0中没有DataContext.
DataContext不是存储库模式,它是活动记录模式.一旦理解了两者之间的区别,您就会理解对问题的回答.
Active Record是数据库中数据的面向对象视图.
存储库是一个存在于您的域模型中的对象,如果您有一个,这意味着它的公共接口与您的数据访问技术完全分离.
您使用LINQ或SQL来使用DataContext查询数据库,这是有道理的,因为LINQ和SQL非常适合查询数据.
但是当您查询您的存储库时,由于我们更多地讨论域对象而不是数据,我们使用规范模式,这实际上是一种更适合您的域的迷你查询语言.
简而言之,Active Record =数据库和数据访问,Repository = Domain模型.理想情况下,您的客户必须能够理解您的域模型的设计(以及其他,您的存储库和规范类),但他不了解DataContext是什么,因为它是开发人员管道.
所以要清楚,"C#2.0中的存储库模式的一个例子"并不是你应该搜索的,"存储库模式的一个例子",但内部实现将使用经典的ADO而不是DataContext.