0 .net wcf odata entity-framework-6
我一直在努力让我们的WCF数据服务与新的Entity Framework 6一起使用.
我发现这篇文章解释了解决这个问题的简单而轻松的方法.
我按照发布的指示完全按照.我第一次安装时:
Install-Package Microsoft.OData.EntityFrameworkProvider -Version 1.0.0-alpha1 -Pre
Run Code Online (Sandbox Code Playgroud)
我收到错误:
错误16"Microsoft.OData.Service.DataService`1"类型在未引用的程序集中定义.您必须添加对程序集"Microsoft.OData.Service,Version = 5.6.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35"的引用.C:\ Realtime Source\RTR 6.x\RTRServices\RTRWCFDataService\RTRWCFDataService\RTRWCFData.svc.cs 21 16 RTRWCFDataService
在研究似乎解决方案是升级到alpha 2 ...并执行此操作时使用命令:
Install-Package Microsoft.OData.EntityFrameworkProvider -Pre
Run Code Online (Sandbox Code Playgroud)
当我使用此命令时,程序包管理器控制台会发出两个错误:
使用"8"参数调用"CreateInstanceFrom"的异常:"无法从程序集'E ntityFramework.PowerShell加载类型'System.Data.Entity.ConnectionFactoryConfig.InitializeEntityFrameworkCommand',Version = 5.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089' ." 在C:\ Realtime Source\RTR 6.x\RTRServices\RTRWCFDataService\packages\EntityFramework.6.0.1\tools\EntityFramework.psm1:698 char:31 + $ domain.CreateInstanceFrom <<<<(+ CategoryInfo:NotSpecified :( :) [],MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException使用"8"参数调用"CreateInstanceFrom"的异常:"无法从程序集'EntityFramework .PowerShell,Version = 5.0加载类型'System.Data.Entity.ConnectionFactoryConfig.AddProviderCommand' .0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'."在C:\ Realtime Source\RTR 6.x\RTRServices\RTRWCFDataService\packages\EntityFramework.6.0.1\tools\EntityFramework.psm1:698 char:31 + $ domain .CreateInstanceFrom <<<<(+ CategoryInfo:NotSpecified:(:) [],MethodInvocationException + FullyQualifiedErrorId:DotNetMethodException
然后我失去了访问Microsoft.OData命名空间的能力......基本上让我不能完成升级所需的课程Microsoft.OData.Service.Providers.EntityFrameworkDataService
对此问题的任何帮助将不胜感激!
虽然我能够安装Alpha 2版本,但我遇到了这个提供商的一些问题.他们中的许多人会产生不明确或误导性的例外情况,您可以在原始公告的评论中找到.而且,目前,开发人员并未积极参与社区处理问题.事实上,鉴于自上一次Alpha发布以来已经过去了近两个月,目前还不清楚这是否是微软的优先考虑事项.
鉴于此,我不建议在此提供程序上生成任何生产代码.事实上,我甚至会犹豫不决,甚至开始反对它,希望更稳定的版本将在稍后发布,直到我们看到这个版本的库背后有更多的动力.我怀疑随着ASP.NET Web API 2.0的发布,WCF数据服务已被置于次要地位.
在此之前,您可能最好选择以下选项之一:
这可能不是您希望的答案,也不是解决您的直接障碍,但在官方提供商的更多动向之前我会考虑这些选项.
*Breeze是一个用于消费oData服务的客户端JavaScript库,但它还包括一个服务器端库,用于连接流行的O/RM,包括Entity Framework 6.0和NHibernate.
| 归档时间: |
|
| 查看次数: |
5292 次 |
| 最近记录: |