我正在使用VS 2013中的MVVM创建和WPF应用程序;第一个实现是使用SQL服务器,它就像一个魅力。
第二阶段是支持Advantage Sybase。为此,我已下载Advantage Data Provier以获得连接下拉列表(http://www.codeguru.com/csharp/.net/article.php/c17027/Using-the-ADONET-Entity-Framework-with-the-Advantage-Database-Server.htm)中的连接。
对于VS 2013,存在此问题,解决方法是手动编辑注册表以使此提供程序(http://blog.nwoolls.com/2012/07/25/registering-missing-data-providers-with-visual-studio-2012/)。
现在我在下拉列表中有提供程序,我可以选择提供程序,但是当我尝试生成用于数据库生成的脚本时,我有一个奇怪的错误:
错误: “ 找不到合适的DbProviderManifest来生成SSDL。提供的提供程序Manifest令牌'2008'无效。 “
有关如何正确使用数据库提供程序的任何想法?
答案 0 :(得分:1)
首先,Advantage 2013服务器尚未正式支持VS 2013。我相信ADS 12.0发布后可能会提供官方支持。
但是......我确实有机会试一试,它正在发挥作用。
请确保您使用的是11.1 ADS .Net数据提供者。它包括对实体框架5的支持(据我所知,目前ADS中没有任何内容包括对EF6的支持)
从Nate Wools导出第二篇文章中提到的4个键。在我的情况下,我从VS 2012导出(在注册表路径中为11.0)。在11.0上完全查找/替换 - > 12.0包括Microsoft.VisualStudio.Data.Framework
的汇编版本(免责声明,我没有机会尝试MVVM,只是一个普通的Windows Form应用程序,但效果很好)
自动创建和更新的App.Config。也许检查你的?
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1" />
</startup>
<connectionStrings>
<add name="Entities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=Advantage.Data.Provider;provider connection string="Data Source=E:\ADS\School\School.add;User ID=adssys"" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
</entityFramework>
</configuration>