我查看了存储库模式,我发现了一些我过去使用的想法,这些想法让我感觉很好。
但是现在我想编写一个使用这种模式的应用程序,但我希望实体类与存储库提供者分离。
我会创建几个程序集:
- 一个“接口”程序集,它将承载包括 IRepository 接口在内的通用接口
- 一个“实体”程序集,它将承载产品、用户、订单等实体类。该程序集将由“接口”程序集引用,因为某些方法将返回此类类型或它们的数组。它也将被主应用程序程序集(例如 Web 应用程序)引用
- 一个或多个存储库提供程序程序集/程序集。每个都将包括(至少)一个实现 IRepository 接口的类,并且它将与某个数据存储一起使用。数据存储可以包括 SQL Server、Oracle 服务器、MySQL、XML 文件、Web/WCF 服务等。
在我发现生成的类和 CustomDataContext 类之间存在深度依赖之前,研究 LINQ to SQL 看起来在实现所有方面所花费的时间方面看起来非常有成效。
在这种情况下如何使用 LINQ to SQL?