我正在寻找可与Oracle和SQL Server 2005一起使用的最佳.Net ORM工具.我们有一个包含大约4000个表的Oracle数据库.我尝试使用TierDeveloper和Codesmith,当我尝试使用Oracle DB映射对象时,他们没有响应.哪个是与大型Oracle数据库一起使用的最佳ORM工具?
我会认真看看ibatis(Java和.Net).我这样说是出于几个原因:
首先,像NHibernate这样的ORM实际上试图抽象出数据库,我认为这可能适得其反,特别是在处理"遗留"数据库时.遗产并不意味着你认为它意味着什么.像Hibernate和JPA(Java)这样的工具几乎定义了任何不像遗留的"正确"方式那样做的事情,并且可以包括使用复合键(严肃地说,我读过一本名为复合键的"JPA"书籍"遗留").
另一方面,Ibatis为您提供了ORM的大部分功能(例如,Hibernate不能像groupBy功能那样执行某些操作),但仍然可以编写纯SQL.我想象一个数据库很大,你会有一些可疑的建模决策,如果不是不可能映射到许多ORM将是困难的.通过编写直接SQL,您可以根据定义在ibatis中满足这些情况.
在查询语言方面,非供应商特定的ORM也是最低的共同点.如果所有数据库都无法做到,那么你无法在任何地方进行.Oracle拥有最复杂的SQL方言之一.你应该使用它.像CONNECT PRIOR这样的东西在许多其他SQL方言中都不存在(因此在抽象的ORM中没有以高效的方式建模).
我在使用ORM或纯SQL中写了更多关于这个的内容?
事实上,你的双手被现有的设计束缚,这使得尽可能接近SQL的情况更加强烈.