dra*_*osT 5 c# wpf entity-framework advantage-database-server
我正在使用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'无效."
有关如何正确使用数据库提供程序的任何想法?
首先,VS 2013 尚未得到 Advantage Database Server 的正式支持。我相信一旦ADS 12.0发布,官方可能就会提供支持。
但是......我确实有机会尝试一下并且它正在发挥作用。
确保您使用的是 11.1 ADS .Net 数据提供程序。它包括对 Entity Framework 5 的支持(据了解,目前 ADS 中没有任何内容包括对 EF6 的支持)
导出 Nate Wools 的第二篇文章中提到的 4 个密钥。就我而言,我从 VS 2012 导出(注册表路径中的 11.0)。11.0 -> 12.0 上的完整查找/替换,包括 Microsoft.VisualStudio.Data.Framework 的程序集版本
(免责声明,我还没有机会尝试 MVVM,只是一个普通的 Windows 窗体应用程序,但它运行良好)
自动创建和更新的 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>
Run Code Online (Sandbox Code Playgroud)