现在Oracle正式支持EF(至少在Beta版本中),EF看起来是使用Oracle数据库的合理选择。另一方面,NHibernate似乎非常适合同样的工作。
有没有人有这方面的经验?对于想要开始的人的任何建议? 从长远来看哪一个看起来最有意义?
答案 0 :(得分:9)
EF在物体持久性方面仍然是新生的。它使用底层对象继承,有时可能会让你在设计时失去继承的可能性。这可以通过新版本的EF修复,但仍然缺乏NHibernate的灵活性。
NHibernate是JAVA中Hibernate .NET的一个端口。如果我从NHibernate的3.0版本中正确记得的话,它现在可能大致相同。它使用属性映射,XML映射,或者您也可以使用Fluent NHibernate或ConfORM,它们允许您以面向对象和可选的基于约定的方式映射对象。
虽然EF4似乎在某些方面提供了更多的性能,但我仍然倾向于使用NHibernate,因为它证明了除了SQL Server,IMHO以外的国外数据库引擎更好的灵活性。
请亲自看看: