关于存储库模式和查询对象模式的问题。我正在使用 EF 4,并使用 VS 2010 中的 ADO.NET POCO 实体生成器从我的数据库模型生成了我的 POCO 类。edmx 文件和 tt 文件(POCO 类)位于 2 个不同的项目中。
我的存储库是特定于域的,例如 DocumentRepository 和 UserRepository。我的数据库模型与我的域模型的不同之处在于我已经实现了映射器,以便将域对象转换为一个或多个数据库表(反之亦然)。一个例子是我的 Document 域类在数据库中被建模为 3 个表(因此也是 POCO 类)。
在这种情况下使用域对象时,您将如何实现查询对象模式?我看到它的方式我必须基于 POCO 类而不是域类编写查询对象?但这不会破坏存储库模式吗?