【问题标题】:Using Oracle with EF5 code first首先将 Oracle 与 EF5 代码一起使用
【发布时间】:2014-06-25 07:31:06
【问题描述】:

我首先使用 EF5 代码 (MVC 4) 和一个 Oracle 数据库编写了一个项目,我遵循了 Oracle 程序(以及此处的提示),经过多次尝试,无法使一切正常。

我有:

包:

<package id="EntityFramework" version="5.0.0" targetFramework="net45" />
<package id="odp.net.x86" version="112.3.0" targetFramework="net45" />

Web.config:

<connectionStrings>
    <add name='Context' connectionString="DATA SOURCE=**.**.**.**:1521/FOLIO;PERSIST SECURITY INFO=True;Connection Lifetime=10;USER ID=*****;Password=*****;" providerName='Oracle.DataAccess.Client' />
</connectionStrings>

<system.data>
    <DbProviderFactories>
        <remove invariant="Oracle.DataAccess.Client" />
        <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
</system.data>

我的数据表映射:

Folio
{
[Table("USERS", Schema = "FOLIO")]
public class Users
{
        [Key]
        [Column("USR_CODE")]
        public string USR_CODE { get; set; }

        [Required]
        [Column("USR_NAME")]
        public string USR_NAME { get; set; }

        [Required]
        [Column("USR_FIRSTNAME")]
        public string USR_FIRSTNAME { get; set; }

        [Required]
        [Column("USR_INITIALS")]
        public string USR_INITIALS { get; set; }

        [Required]
        [Column("USR_PASSWORD")]
        public string USR_PASSWORD { get; set; }
    }
}

不幸的是,我仍然有同样的例外:

“访问数据时出错”

详情如下:

    [DalException: Une erreur est survenue lors de l'accès aux données]
   Portfolio.Oracle.Service.BaseService.ManageError(Exception ex) in c:\Users\FEVRE\Documents\Visual Studio 2012\Projects\Portfolio.Oracle.Mvc\Portfolio.Oracle.Service\BaseService.cs:88
   Portfolio.Oracle.Service.ProjectService.GetProjects() in c:\Users\FEVRE\Documents\Visual Studio 2012\Projects\Portfolio.Oracle.Mvc\Portfolio.Oracle.Service\ProjectService.cs:22
   Portfolio.Oracle.Mvc.Controllers.HomeController.Index() in c:\Users\FEVRE\Documents\Visual Studio 2012\Projects\Portfolio.Oracle.Mvc\Portfolio.Oracle.Mvc\Controllers\HomeController.cs:32
   lambda_method(Closure , ControllerBase , Object[] ) +101
   System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters) +14
   System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) +211
   System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) +27
   System.Web.Mvc.Async.<>c__DisplayClass42.<BeginInvokeSynchronousActionMethod>b__41() +28
   System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +10
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +57
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +48
   System.Web.Mvc.Async.<>c__DisplayClass39.<BeginInvokeActionMethodWithFilters>b__33() +57
   System.Web.Mvc.Async.<>c__DisplayClass4f.<InvokeActionMethodFilterAsynchronously>b__49() +223
   System.Web.Mvc.Async.<>c__DisplayClass37.<BeginInvokeActionMethodWithFilters>b__36(IAsyncResult asyncResult) +10
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +57
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +48
   System.Web.Mvc.Async.<>c__DisplayClass2a.<BeginInvokeAction>b__20() +24
   System.Web.Mvc.Async.<>c__DisplayClass25.<BeginInvokeAction>b__22(IAsyncResult asyncResult) +102
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +57
   System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +43
   System.Web.Mvc.<>c__DisplayClass1d.<BeginExecuteCore>b__18(IAsyncResult asyncResult) +14
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +57
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +47
   System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +10
   System.Web.Mvc.<>c__DisplayClass8.<BeginProcessRequest>b__3(IAsyncResult asyncResult) +25
   System.Web.Mvc.Async.<>c__DisplayClass4.<MakeVoidDelegate>b__3(IAsyncResult ar) +23
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +47
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9514928
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

我不明白,我找不到问题(EF?)

我看到这里是可能的:Using Oracle with EF code first

【问题讨论】:

    标签: oracle entity-framework asp.net-mvc-4 exception


    【解决方案1】:

    Oracle 与 Code First 不兼容。带有 Code first 的 Oracle EF6 客户端 Beta 版将于今年夏天发布

    【讨论】:

      猜你喜欢
      • 2014-07-06
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      相关资源
      最近更新 更多