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

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'无效."

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

Edg*_*gar 1

首先,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=&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>
Run Code Online (Sandbox Code Playgroud)