我正在尝试为Entityframwork 6和WCF Data Services 5.6设置项目。我经历了this page
我安装了NuGet包:
Install-Package Microsoft.OData.EntityFrameworkProvider -Pre
之后,我尝试使用向导ADO.Net实体数据模型。 它不允许我进一步前进。错误是这样的
您的项目引用了最新版本的E F;但是,无法找到与此版本兼容的EF数据库提供程序用于您的数据连接。退出此向导,安装ta兼容的提供程序,然后在执行此操作之前重建项目。 和一个链接: http://msdn.microsoft.com/en-us/data/jj730568
我的数据库是Oracle 11g,我使用的是DevArt,其版本是Oracle pro 8.0.146.0
我认为这是DotConnect的一些问题,我与供应商核对过他们给了我this link
我也跟着这个。但没有成功。
当我尝试添加DevArt Data Model * edml时,它也给了我Ef 6。 因此,当创建此edml并尝试WCF数据服务时,请给我异常消息:
“Models.USER”类型的属性“EntityState”不是有效属性。确保属性的类型是公共类型和受支持的基元类型或具有有效键或复杂类型的实体类型。请参阅服务器日志以获取更多详异常堆栈跟踪是:在System.Data.Services.Providers.ReflectionServiceProvider.BuildTypeProperties
如何将它们组合在一起?
答案 0 :(得分:3)
Entityframework 6,WCF数据服务5.6,DevArt oracle连接器
现在让我回答我自己的问题。
所以我按照下面提到的链接,如最后的单词 http://blogs.msdn.com/b/odatateam/archive/2013/10/02/using-wcf-data-services-5-6-0-with-entity-framework-6.aspx?Redirected=true
答案 1 :(得分:0)
..."您的项目引用了最新版本的Entity Framework;但是,找不到与此版本兼容的Entity Framework数据库提供程序用于数据连接。退出此向导,安装兼容的驱动程序,然后在执行此操作之前重建项目" ...
使用EDM Designer时,您应该在向项目添加新的ADO.NET实体数据模型之前,将EF-provider的注册添加到* .config。 dotConnect for Oracle的示例可在此处获取:http://blog.devart.com/entity-framework-6-support-for-oracle-mysql-postgresql-sqlite-and-salesforce.html
Entity Developer会自动将此EF-provider注册添加到* .config。我们建议您使用Entity Developer(Devart Entity Model,* .edml)而不是EDM Designer(ADO.NET实体数据模型,* .edmx),因为它已针对使用Oracle进行了调整,并具有高级功能:{{3} }。
...异常消息是'属性' EntityState'在类型' Models.USER'不是有效的财产。确保属性的类型是公共类型和受支持的基元类型或具有有效键或复杂类型的实体类型。' ...
请发送给我们(devart * com的支持)一个小型测试项目,可以重现错误,以便我们能够更详细地调查它并为您找到解决方案。