关于oracle:如何使用实体框架实现数据库独立

关于oracle:如何使用实体框架实现数据库独立

How to Implement Database Independence with Entity Framework

我已经使用实体框架启动了一个相当简单的示例项目。在项目中,我从SQL Server 2000数据库创建了一个新的实体数据模型。我可以使用LINQ to Entities查询数据并在屏幕上显示值。

我有一个具有极为相似的架构的Oracle数据库(我想确切地说,但我不知道Oracle的所有详细信息)。我希望我的项目能够以最小的努力在SQL Server和Oracle数据存储上运行。我希望我可以简单地更改实体数据模型的配置字符串,而实体框架将负责其余的工作。但是,似乎无法像我所想的那样无缝运行。

有人做过我想做的事情吗?同样,我尝试编写一个可以使用实体框架以最小的努力查询和更新SQL Server或Oracle数据库中的数据的应用程序。第二个目标是在数据存储之间来回切换时不必重新编译应用程序。如果我必须"从数据库更新模型"可能没问题,因为我不必重新编译,但是我宁愿不必走这条路。有谁知道可能需要的任何步骤?


在术语"持久性无知"下通常可以理解的是,您的实体类没有被框架依赖性所淹没(对于N层方案很重要)。现在不是这种情况,因为实体类必须实现某些EF接口(" IPOCO"),而不是普通的旧CLR对象。正如另一位发布者所提到的,为此,有一个称为持久性无知(POCO)适配器的Entity Framework V1解决方案,而EF V2将立即支持POCO。

但是我认为您真正想到的是数据库独立性。通过一个包含存储模型,概念模型以及两者之间的映射的大型配置XML,可以在设计时从中生成类型化的ObjectContext,我也很难想象如何透明地支持两个数据库。

看起来更有希望的是应用独立于数据库的ADO.NET提供程序,例如DataDirect的提供程序。 DataDirect还宣布了对2008年第三季度的EF支持。


http://blogs.msdn.com/jkowalski/archive/2008/09/09/persistence-ignorance-poco-adapter-for-entity-framework-v1.aspx

主要问题是实体框架的设计没有考虑到持久性的无知。老实说,我会考虑使用除实体框架之外的其他东西。


推荐阅读

    linux满屏显示命令?

    linux满屏显示命令?,工具,系统,服务,电脑,网络,技术,信息,数据,上会,软件,如

    linux打包项目命令?

    linux打包项目命令?,项目,文件,命令,软件,数字,系统,名称,工具,目录,格式,Lin

    显示linux时间命令?

    显示linux时间命令?,时间,系统,信息,一致,命令,文件,终端,目录,选项,参数,lin

    linux项目更新命令行?

    linux项目更新命令行?,工作,地址,系统,数据,信息,项目,标准,电脑,目录,命令,l

    linux显示最多的命令?

    linux显示最多的命令?,系统,情况,信息,数据,工具,电脑,状态,时间,分析,命令,

    数据库导出linux命令?

    数据库导出linux命令?,密码,数据,数据库,情况,地址,系统,工具,网上,名字,命

    linux显示错误命令?

    linux显示错误命令?,信息,系统,电脑,状态,时间,环境,命令,搜狐,密码,异常,虚

    linux逐行显示命令?

    linux逐行显示命令?,标准,信息,系统,工作,地址,命令,实时,名称,文件,目录,Lin

    linux显示时间命令?

    linux显示时间命令?,时间,系统,管理,标准,信息,单位,工具,数据,中国,命令,lin

    linux恢复数据库命令?

    linux恢复数据库命令?,工具,系统,软件,数据,盘中,密码,命令,备份,数据库,文

    linux启动显示命令行?

    linux启动显示命令行?,系统,密码,终端,状态,首页,情况,基础,电脑,信息,工具,l

    linux启动显示命令行?

    linux启动显示命令行?,系统,密码,终端,状态,首页,情况,基础,电脑,信息,工具,l

    linux显示之前的命令?

    linux显示之前的命令?,系统,信息,命令,地址,服务,环境,数据,标准,数字,不了,l

    linux打开显示器命令?

    linux打开显示器命令?,信息,工具,系统,环境,发行,实时,数据,设备,命令,文件,L

    linux命令大全数据库?

    linux命令大全数据库?,服务,系统,平台,状态,软件,通用,环境,数据,神州,地址,

    linux命令实时显示?

    linux命令实时显示?,系统,实时,时间,信息,情况,命令,对比,电脑,名称,一致,lin

    linux上数据库的命令?

    linux上数据库的命令?,服务,系统,信息,地址,命令,密码,工具,管理,数据,单位,

    linux命令dm数据库?

    linux命令dm数据库?,地址,软件,时间,设备,名字,服务,位置,名称,公司,命令,lin

    linux外部命令显示?

    linux外部命令显示?,系统,工具,命令,一致,盘中,软件,技术,外部,内部,文件夹,L

    linux命令显示ip?

    linux命令显示ip?,地址,系统,网络,信息,技术,电脑,手机,设备,服务,管理,配置L