尝试使用DDtek Datadirect Sybase驱动程序作为Enttiy Framework 6的提供程序,无法正确配置它

时间:2017-09-18 14:57:44

标签: entity-framework entity-framework-6 sybase-ase datadirect

尝试使用DDtek Datadirect Sybase驱动程序作为Enttiy Framework 6的提供程序,无法正确配置它。

在3.3中看起来没有DDtek.Sybase.Entity,

我们有4.2的试用版,它有DLL,所以我已经安装了它。

这是web.config的我的提供者部分,我认为错误存在

 <entityFramework>
             <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory,
         EntityFramework" />
             <providers>
               <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices,
         EntityFramework.SqlServer" />
               <provider invariantName="DDTek.Sybase.4.2" type="DDTek.Sybase.Entity.ProviderServices, DDTek.Sybase.Entity,
         Version=4.2.0.0, Culture=neutral, PublicKeyToken=c84cd5c63851e072" /  
         </providers>   
    </entityFramework>

这是我的连接字符串

<add name="DefaultConnection" connectionString="host='XXXX.XXX';Pooling=true;Port='6000';UID='XXXXX';Password=XXXXX;Database='XXXX';Min Pool Size=5;Load Balance Timeout=30;Connection Timeout = 30000;Max Pool Size=50;Workstation ID='SPN'; Clone Connection If Needed =true; Fetch Buffer Size = 40960" providerName="DDTek.Sybase.4.2" /> 

连接字符串减去providername位工作在3.3,非EF。

这是我得到的错误......

  

实体框架提供程序类型   'DDTek.Sybase.Entity.ProviderServices,DDTek.Sybase.Entity,   Version = 4.2.0.0,Culture = neutral,PublicKeyToken = c84cd5c63851e072'   在ADO.NET提供程序的应用程序配置文件中注册   无法加载不变名称'DDTek.Sybase.4.2'。确保   使用程序集限定名称和程序集   可用于正在运行的应用程序看到   http://go.microsoft.com/fwlink/?LinkId=260882了解更多信息。

查看更多文档我将名称更改为DDTek.Sybase(默认)而不是DDTek.Sybase.4.2(建议安装多个版本(有,但只有一个支持EF)

这是我得到的错误

  

实体框架提供程序类型   'DDTek.Sybase.Entity.ProviderServices,DDTek.Sybase.Entity,   Version = 4.2.0.0,Culture = neutral,PublicKeyToken = c84cd5c63851e072'   在ADO.NET提供程序的应用程序配置文件中注册   无法加载不变名称'DDTek.Sybase'。确保这一点   使用程序集限定名称并且程序集可用   到正在运行的应用程序看到   http://go.microsoft.com/fwlink/?LinkId=260882了解更多信息。

有没有人使用Progress / DataDirect驱动程序成功设置了它?

我是100%noob to Entity Framework,所以不知道是太小,还是没有用过

1 个答案:

答案 0 :(得分:0)

DataDirect驱动程序不支持EF 6.0,正如他们之前告诉我的那样 仅支持5.0。

所以我将它转换为使用MSDB,在10分钟内完成(其中大部分都在评论Sybase + ddtek的部分内容)

新的连接字符串看起来像这样

   <add name="DefaultConnectionMSold" connectionString="Data Source=XXXXXXXXX;Initial Catalog=my_project;Integrated Security=True" providerName="System.Data.SqlClient"/>