EF+Oracle+Unity+MVC+AutoMapper 框架的搭建
来源:互联网 发布:淘宝势力周多久一次 编辑:程序博客网 时间:2024/04/30 11:48
清明节你们都去踏青了,我就在家踏键盘,不想出去凑这个热闹,刚好自己对这种框架不是很熟悉,就趁这两天在家折腾一番,程序猿就该折腾,不折腾就没有进步。该框架是借鉴了一个同事的想法,自己有改进了一点点,看到网上好多的EF都是针对sqlserver的,很少关于Oracle的
我搭的这个框架是针对Oracle的,先上我的框架整体截图
框架分6层:
数据实体层 EFDataColletcion
仓储层 EFRepository
服务层也就是业务逻辑层,所有业务逻辑都在该层 EfServices
转换层,实体和DTO之间的转换 EfDataAdapter
DTO/Model 层,最终向用户展示的Model EfDataAdapterModel
Web层 EF_ReadWriteSplit
各层之间的引用:
web层:转换层 DTO/Model层
转换层:服务层 DTO/Model层 数据实体层
服务层:仓储层 数据实体层
仓储层: 数据实体层
注入使用的是 Unity依赖注入,如截图:
实体和模型之间的转换使用 AutoMapper
献丑了,哈哈
源码地址: http://download.csdn.net/detail/yanxianbin1989/9480549
欢迎前去下载,也欢迎改进
oracle 相关配置和注意事项
下面的内容,转载 http://www.cnblogs.com/wlflovenet/p/4187455.html
1.Oracle 对.net支持的一些基础知识了解介绍。
1.早年的时候,微软自己做的有 System.Data.OracleClient。 现在已经成了过期类了。性能等都不是很好。
2.Oracle 官方出的odp.net Oracle.DataAccess.dll(非托管版本) 还要分32/64位。而且很麻烦的是 部署的时候 需要装客户端环境。非常繁琐。
3.Oracle 官方近年新出的 Oracle.ManagedDataAccess.dll 这个非常给力 不再区分32/64位了。 而且不需要客户端再安装东西了。性能也得到了提高。不管是用ado.net或者其他ORM框架
都建议使用此版本dll。这次我们的EF6 也会依据此dll进行开发。
官方下载地址是这个 一定要去官方下载最新的 才能支持EF6 我从nuget上下的版本较低 不支持。。
http://www.oracle.com/technetwork/database/windows/downloads/index-090165.html (当时下载的版本为4.121.2.0)
下载好后 从这个目录下 odp.net\managed\common 拿出2最关键的dll
Oracle.ManagedDataAccess.dll 和 Oracle.ManagedDataAccess.EntityFramework.dll
二.修改webconfig配置文件
加入如下代码:
<configSections> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> <!--<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />--> </configSections> <entityFramework> <defaultConnectionFactory type="Oracle.ManagedDataAccess.EntityFramework.OracleConnectionFactory,Oracle.ManagedDataAccess.EntityFramework,Version=6.121.2.0,Culture=neutral,PublicKeyToken=89b483f429c47342" /> <providers> <provider invariantName="Oracle.ManagedDataAccess.Client" type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework, Version=6.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </providers> </entityFramework> <system.data> <DbProviderFactories> <remove invariant="Oracle.ManagedDataAccess.Client" /> <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" /> </DbProviderFactories> </system.data>
连接字符串如下 记得提供下 providerName 为 Oracle.ManagedDataAccess.Client
<connectionStrings> <add name="OraString" connectionString="Data Source= (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = *****)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL) ) );User ID=*****;Password=*****;Persist Security Info=True" providerName="Oracle.ManagedDataAccess.Client" /> </connectionStrings>
这里还有个注意事项,因为有的人以及装了oracle的客户端。这可能会导致一些错误。这里 请注意检查下 C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
下的 machine.config (64位的话 路径是 Framework64,最好都检测下)
machine.config 可以理解为webconfig的父类 所以我们需要检查下里面的内容 是否有
<section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
这样的内容 如果有 修改版本号Version 为当前Oracle.ManagedDataAccess.Client版本。
三.注意事项
1.访问时提示表不存在,有可能权限不够。需要设置默认的Schema 需要在 OnModelCreating设置
modelBuilder.HasDefaultSchema(“Schema名”);//解决,用户"dbo"不存在 的错误
2.oracle 的配置是否配置了使用ora方式来访问。 建议先不使用ora方式,有可能是这个方式访问导致的问题。
- EF+Oracle+Unity+MVC+AutoMapper 框架的搭建
- MVC框架的EF删除
- StructureMap+EF+Linq搭建MVC框架
- 【.Net码农】【MVC】多层架构+MVC+EF+AUTOFAC+AUTOMAPPER
- 【.Net码农】【MVC】如何搭建MVC + EF 框架
- MVC之EF框架
- 【.Net码农】【MVC】.Net框架搭建之1、SQL Server EF MVC简单三层框架
- MVC框架的搭建
- MVC+EF框架查询实例
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(14)-主框架搭建
- .Net框架搭建之1、SQL Server EF MVC简单三层框架
- MVC5+Mql+EF框架搭建
- .NETMVC+WCF+EF框架搭建
- 搭建自己的MVC框架
- Spring MVC框架的搭建
- Unity MVC框架 StrangeIoC
- Log4net 集成到MVC+EF框架
- 服务器遭受的一次攻击
- jQuery源码浅析
- poj1426之一深搜
- 我的Android网络框架之旅(二)
- 无序n个元素中,寻找第K大的元素 O(n)
- EF+Oracle+Unity+MVC+AutoMapper 框架的搭建
- Tsinsen A1116 幂方分解
- 树莓派一些常用设置
- Chromium网页渲染调度器(Scheduler)实现分析
- Android 网络与数据存储
- 搭建开发环境
- 心得
- Scala - Parentheses and Curly Brackets in Anonymous Functions
- Ubuntu安装攻略