C# 从Oracle数据模型创建新控制器时出错-ASP.net MVC4
我正在用Oracle Database 11g和VS.Net 2013(ASP.Net&C#)构建一个项目 问题是,当我尝试基于DbContext中包含的一个实体创建控制器时,出现以下错误: 错误: 无法检索的元数据 'Test1.Models.XX_GL_JOURNALS_视图。无法找到数据 请求的Framewrok的provider.NET。可能未安装该程序 这是我用来创建新控制器的窗口: 这是webconfig中的my连接字符串:C# 从Oracle数据模型创建新控制器时出错-ASP.net MVC4,c#,asp.net,oracle,entity-framework,asp.net-mvc-4,C#,Asp.net,Oracle,Entity Framework,Asp.net Mvc 4,我正在用Oracle Database 11g和VS.Net 2013(ASP.Net&C#)构建一个项目 问题是,当我尝试基于DbContext中包含的一个实体创建控制器时,出现以下错误: 错误: 无法检索的元数据 'Test1.Models.XX_GL_JOURNALS_视图。无法找到数据 请求的Framewrok的provider.NET。可能未安装该程序 这是我用来创建新控制器的窗口: 这是webconfig中的my连接字符串: <add name="EntitiesOracl
<add name="EntitiesOracle"
connectionString="metadata=res://*/Models.DIGP.csdl|res://*/Models.DIGP.ssdl|res
://*/Models.DIGP.msl;provider=Oracle.ManagedDataAccess.Client;provider
connection string="data source=DIGP;password=admin#01;persist security
info=True;user id=ADMIN"" providerName="System.Data.EntityClient" />
这是我的数据库上下文:
使用系统;
使用System.Data.Entity;
使用System.Data.Entity.Infrastructure;
公共部分类实体Oracle:DbContext
{
公共实体Oracle()
:base(“name=EntitiesOracle”)
{
}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
抛出新代码FirstException();
}
公共数据库集XX_USER_DIGP{get;set;}
公共数据库集XX\u GL\u日志\u视图{get;set;}
公共数据库集XX\u GL\u试算平衡{get;set;}
公共数据库集XX\u GL\u试算平衡\u详细信息{>get;set;}
}
我无法理解为什么会失败,因为连接似乎运行良好,并且我的数据模型是从数据库正确构建的 您的问题似乎出在连接字符串上。因此,只需将连接字符串从
app.config
复制到web.config
。希望它对您有用
帮助:您的问题似乎出在连接字符串上。因此只需将连接字符串从
app.config
复制到web.config
。希望它对您有用
帮助:Hi Sampath,谢谢您的回复,但我找不到我的app.config文件。在我的解决方案中,自动创建两个Web.Config,一个在共享文件夹中,另一个在根目录中。两者都有相同的信息,我在两者中复制和粘贴相同的字符串连接,但仍然不起作用。尊敬的Ernestoplease,请看:亲爱的@Sampath我已经努力了两天,试图按照不同帖子中的说明进行操作,包括您之前描述的内容,但我不知道为什么错误仍然出现。我不知道,如果是因为我在实体框架5中使用MVC4,而ODP版本是6.0x@,我现在觉得很失落。为什么不试试最新的版本呢?EF 6.X?嗨,Sampath,谢谢你的回复,但我找不到我的app.config文件。在我的解决方案中,自动创建两个Web.Config,一个在共享文件夹中,另一个在根目录中。两者都有相同的信息,我在两者中复制和粘贴相同的字符串连接,但仍然不起作用。尊敬的Ernestoplease,请看:亲爱的@Sampath我已经努力了两天,试图按照不同帖子中的说明进行操作,包括您之前描述的内容,但我不知道为什么错误仍然出现。我不知道,如果是因为我在实体框架5中使用MVC4,而ODP版本是6.0x@,我现在觉得很失落。为什么不试试最新的版本呢?EF6.X?
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
public partial class EntitiesOracle : DbContext
{
public EntitiesOracle()
: base("name=EntitiesOracle")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public DbSet<XX_USER_DIGP> XX_USER_DIGP { get; set; }
public DbSet<XX_GL_JOURNALS_VIEW> XX_GL_JOURNALS_VIEW { get; set; }
public DbSet<XX_GL_TRIAL_BALANCE> XX_GL_TRIAL_BALANCE { get; set; }
public DbSet<XX_GL_TRIAL_BALANCE_DETAIL> XX_GL_TRIAL_BALANCE_DETAIL { >get; set; }
}