我正在使用Oracle Database 11g和VS.Net 2013构建项目(ASP.NEt& C#)。
问题是,当我尝试根据我的DbContext中包含的某个实体创建控制器时,出现以下错误:
错误:
无法检索元数据 ' Test1.Models.XX_GL_JOURNALS_VIEW。无法找到数据 可能没有安装所请求的Framewrok.It的provider.NET。
这是我用来创建新控制器的窗口:
这是我在webconfig中的连接字符串:
<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" />
这是我的数据库背景:
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; } }
我无法理解为什么会失败,因为连接似乎运行良好,我的数据模型是从数据库正确构建的。
答案 0 :(得分:0)
看来你的问题出在Connection String上。只需将连接字符串从app.config
复制到web.config
。希望它对你有用。