将ADO.NET实体框架与Advantage Database Server一起使用

时间:2014-08-09 07:18:16

标签: 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'无效。   “

有关如何正确使用数据库提供程序的任何想法?

1 个答案:

答案 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=&quot;Data Source=E:\ADS\School\School.add;User ID=adssys&quot;" providerName="System.Data.EntityClient" />
  </connectionStrings>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="v11.0" />
      </parameters>
    </defaultConnectionFactory>
  </entityFramework>
</configuration>