如何在C#.net 2.0中实现存储库模式?

告诉我基本结构。因为我们在.net 2.0中没有DataContext。

有帮助吗?

解决方案

DataContext不是存储库模式,它是活动记录模式。 一旦你理解了两者之间的差异,你就会明白对你问题的回答。

Active Record是数据库中数据的面向对象视图。

存储库是一个存在于您的域模型中的对象,如果您有一个,这意味着它的公共接口与您的数据访问技术完全分离。

使用LINQ或SQL通过DataContext查询数据库,这是有道理的,因为LINQ和SQL非常适合查询数据。

但是当您查询您的存储库时,由于我们更多地讨论域对象而不是数据,我们使用规范模式这实际上是一种更适合您所在领域的迷你查询语言。

简而言之,Active Record =数据库和数据访问,Repository = Domain model。理想情况下,您的客户必须能够理解您的域模型的设计(以及其他,您的存储库和规范类),但他不了解DataContext是什么,因为它是开发人员管道。

所以要明确,“C#2.0中的存储库模式的一个例子”,并不是你应该搜索的内容,“存储库模式的一个例子”。是,但内部实现将使用经典ADO而不是DataContext。

其他提示

您可以看到ASP.NET的示例此处,但我认为无论如何你都能理解这个想法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top