.NET MVC3 学习遇到的问题

虽然说MVC都是一个理念 ,一个模样,但学习.NET MVC时,总感觉没有JAVA的MVC容易学.没有JAVA的直观,没有JAVA的好配置,可能是JAVA 先入为主的原因吧.下面记录一下遇到的问题.备忘.

1.

EF:Entity Framework 就一个MS自己的ORM工具.文件后缀是.edmx,可以用xml编辑器打开看其结构(真心讨厌微软 的东西,他恨不得每个技术都要出一个自己的封装) 

EF CodeFirst: 其实就是逆向工程,先写MODEL,根据MODEL生成数据库

EF 原生不支持oralce,MS支持自家孩子SQL SERVER,需要去ORACLE下载ODTwithODAC112030,注意版本,之前下的20什么版本的,装了也不能正常使用(在VS2010中建立数据库连接时根本看不到oracle),看别的帖子说使用112030+的版本

安装时根据需要选择client或server版本,我选择的是client版本.因为要连接远端服务器的数据库.

ODAC EntityFramework安装手册

安装后,在VS2010中新建数据库连接时就可以看到ORALCE选项了,但是遇到了选择数据库连接下拉列表为空的问题,这个是因为环境变量的问题,需要有环境变量正确指向到本地的tnsnames.ora文件


2. 

指定的命名连接在配置中找不到、非计划用于 EntityClient 提供程序或者无效 .

在MVC项目中,直接引用 EF类库的操作类时,如果出现运行时错误,注意检查是否将connectstring  设置到MVC项目中(和EF类库的App.Config中的一样)




3.  


说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。            

编译器错误消息: CS0012: 类型“System.Data.Objects.DataClasses.EntityObject”在未被引用的程序集中定义。必须添加对程序集“System.Data.Entity, Version=4.0.0.0, Culture=neutral,  PublicKeyToken=b77a5c561934e089”的引用。

出现这个错误的原因是Web.config配置文件的原因。

解决办法:

在web.config中的<system.web>节点下的<system.web>节点下的<assemblies>中添加:

<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />



你可能感兴趣的:(.NET MVC3 学习遇到的问题)