尝试使用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,所以不知道是太小,还是没有用过
答案 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"/>