EF访问数据库的方式损失了什么

EF访问数据库的方式损失了什么,第1张

未损失什么。

F(EntityFramework)是一种ORM框架,减少了面向对象编程环境与关系数据的不一致。

开发者可以通过熟悉的对象和属性的方式来使用数据,通过数据概念模型发出数据访问 *** 作请求,EF会将该 *** 作转化为对应的关系数据库的 *** 作,降低了学习成本(即使没学过sql也能灵活使用数据库的数据)。

数据库为Oracle,就不要使用EF了。

问题已经很明显。“Make sure the provider is registered in the 'entityFramework' section of the application config file”,就是让你看看在App.config文件中的<provider>。

【源文件中的内容如下】:

<entityFramework>

<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />

</entityFramework>

按理说,只要将<provider />写成:

<provider invariantName="Oracle.ManagedDataAccess.Client" type="System.Data.OracleProviderServices, EntityFramework.OracleServer" />

之类即可,但是可悲啊!

目前支持EF6的provider有:

(1)Microsoft SQL Server provider

(2)Microsoft SQL Server Compact Edition provider

(3)Devart dotConnect Data Providers【注意】

(4)Firebird provider

(5)Visual Fox Pro porvider

(6)MySQL

(7)PostgreSQL

1、2、4、5、7均可以从NuGget中获取。3、7需要到相应的网站获取。

注意第三个:这个插件就是用于Oracle数据库的,其为第三方插件,由Devart公司开发。但有两大致命缺点:1、收费(是30天免费试用,过了30天要么卸载,要么付款)。2、目前支持的Oracle的最高版本为:Oracle8.2i。

哎!数下流剑客,还是Oracle!!!

Entity Framework (EF) Core 是轻量化、可扩展、开源和跨平台版的常用 Entity Framework 数据访问技术。

EF Core 可用作对象关系映射程序 (O/RM),这可以实现以下两点:

使 .NET 开发人员能够使用 .NET 对象处理数据库。

无需再像通常那样编写大部分数据访问代码。

EF Core 支持多个数据库引擎,请参阅数据库提供程序了解详细信息。

对于 EF Core,使用模型执行数据访问。 模型由实体类和表示数据库会话的上下文对象构成。 上下文对象允许查询并保存数据。 有关详细信息,请参阅创建模型。

EF 支持以下模型开发方法:

从现有数据库生成模型。

对模型手动编码,使其符合数据库。

创建模型后,使用 EF 迁移从模型创建数据库。 模型发生变化时,迁移可让数据库不断演进


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6648656.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-26
下一篇 2023-03-26

发表评论

登录后才能评论

评论列表(0条)

保存