Jua*_*món 3 database nhibernate entity-framework
我正在研究在我必须开发的新Web应用程序中使用的不同ORM.
我在NHibernate和EntityFramework 4.1之间犹豫不决.
我知道NHibernate确实支持不同的数据库(如SQL Server,MySQL,Oracle等).不是吗?
实体框架怎么样?我找不到它支持的数据库(我认为它与数据库无关,但我不太确定).例如,我无法使用MySQL运行(使用MySQL Connector 6.4.3).
我想要的答案只是关于不同数据库的支持.stackoverflow中有一些关于"NHibernate vs Entity Framework"的信息.
小智 7
实体框架查询由三个"层"转换为最终形式(发送到DB):
1.对象服务
2. EntityClient数据提供者
3. ADO .NET数据提供者.
对象服务层是实体框架的一个组件,使您可以使用作为实体类型实例的公共语言运行时(CLR)对象来查询,插入,更新和删除数据.
实体框架包括EntityClient数据提供程序,它管理连接,将实体查询转换为特定于数据源的查询,并返回实体框架用于将实体数据实现为对象的数据读取器.
传统的ADO.NET仍然用于与底层数据库进行通信.
这是什么意思?这意味着实体框架被设计为数据库独立.如果数据库提供程序已为ADO .NET创建提供程序(适用于MySQL,Oracle等),则可以将其用于每个数据库.
对于MySQL,您应该能够使用EF和您提到的连接器(更多信息:http://dev.mysql.com/doc/refman/4.1/en/connector-net-visual-studio-entity-framework. HTML)