我想构建一个针对任何多个数据库(即SQL Server,Oracle,DB2等)的通用数据访问层,而棘手的部分是我还需要支持Web服务,因此我的数据源也可以是Web服务。每个数据源都有类似的数据,但列名不同,返回类型也在Web服务中不同。
如何创建通用数据访问层以定位任何数据源,并将通用对象/列表返回到.NET,C#中的UI。
.NET 4.5,C#,Web API,VS 2013就是我正在使用的。
请建议。非常感谢任何帮助。
欢呼声
答案 0 :(得分:0)
在我看来,你让事情变得太复杂了。只需为您拥有的每种数据源类型创建数据访问组件,并让它们返回您定义的业务或域实体。充分利用每个数据源的强大功能,而不是试图使它们具有通用性。
另外,为什么将Web服务视为数据源?它是一个已经抽象出来的Web服务。只需在您的应用程序层中使用它并使用其实体。
底线:如果做得太难,那么就不要这样做并保持简单。
另请阅读http://ayende.com/blog/4567/the-false-myth-of-encapsulating-data-access-in-the-dal。