我正在研究Steven Sanderson的优秀书籍“Pro ASP.NET MVC 2 Framework”中建议的存储库模式之后的项目。Linq to SQL的存储库模式:多对多关系
请看下面的例子:我有一个表格用于“Products”和“Images”。两者都有一个自己的存储库,在构造函数中创建一个新的DataContext。现在,我想建立名为“ImagesForProducts”的两个实体之间的多对多关系。
我应该为ImagesForProducts实体创建一个单独的存储库吗?如果是这样,我如何在所有实体之间共享DataContext?在这种情况下,我必须实例化我的ProductController与两个存储库(产品和ImagesForProducts),对不对?
我宁愿使用我的产品实例访问图像,以便我可以编写myProduct.AddImage(img)。但是,如何使用ProductRepository将关系保存在数据库中?你可以看到,我不确定整个架构,并且非常感谢一个基本的代码示例。
在此先感谢!
感谢您的回答。 Linq mapper已经为我提供了一个ImagesForProducts实体,这个实体并不关心我,因为它只会用在Linq相关的仓库中,并且对我的模型来说并不实质。正如你在我的回答中所看到的,最终我决定不使用产品实例添加图像。这样,我的“真实”模型实体与数据库相关的东西没有任何关系。 – Shackles 2011-01-26 16:08:41