【发布时间】:2010-12-19 21:41:27
【问题描述】:
我正在创建一个对象关系映射工具的快速而肮脏的原型 (C#)。我想支持至少两种数据库——一种是 Microsoft SQL Server 2005/2008,另一种很可能是 MySQL。
有没有办法为两个数据库引擎使用单一的数据库访问机制?它会是什么?
当然,我知道 SQL 查询语法会有差异,但在我的情况下,这并不重要 - 我将使用工具生成适合特定数据库引擎的 SQL 查询,用户将能够优化那些 SQL 查询。
主要思想是尽可能灵活的数据提供者解决方案。是否可以完成,如何更容易完成? 请注意,我没有将它用于生产系统,仅用于原型,但我仍然很好奇它是如何在生产 OR/M 工具中实现的——它们是为每个数据提供者使用完全独立的访问机制还是有一些共同点?如果我打算将数据转换为业务对象,他们是使用 DataReaders 还是有一些更合适的方法来检索数据?
感谢您提供任何想法、链接等。
【问题讨论】:
标签: orm data-access-layer