entityFramework怎么连接sql anywhere数据库

时间:2022-05-24 19:53:21
想通过oledb或者odbc连接数据库
connectionString尝试了很多写法,都不成功
该怎么写?


错误信息
‘this.Database.CurrentTransaction’ threw an exception of type 'System.Data.Entity.Core.ProviderIncompatibleException'


web.config配置文件中配置:

 <connectionString>
      <add name="TestOledb" providerName="System.Data.OledDB">
               connectionString="Provider=SAOLEDB.17;uid=dba;pwd=sql;Links=TcpIp(host=.;serverport=5000);eng=demodb"/>
      
      <add name="TestODBC" providerName="System.Data.Odbc">
               connectionString="Driver={SQL Anywhere 17};uid=dba;pwd=sql;dsn=demo db;database=demodb;"/>
 <connectionString>


创建dbcontext

public class DemoDB :DbContext
{
       public DemoDB() : base("name=TestOledb") //用TestODBC也一样的错误信息
       {}
}

13 个解决方案

#1


entityFramework怎么连接sql anywhere数据库  你配置文件没报错??

#2




引用 1 楼 qq_30465445 的回复:
entityFramework怎么连接sql anywhere数据库  你配置文件没报错??


呃。。。因为不能复制,发帖的时候我自己敲上去的,敲错了,请忽略这个
实际的代码中是正确的

#3


entityFramework支持anywhere?它的支持类库是哪个?

#4


引用 3 楼 daixf_csdn 的回复:
entityFramework支持anywhere?它的支持类库是哪个?


entityFramework怎么连接sql anywhere数据库用odbc或者oledb可以吗

#5


引用 4 楼 yeoh123 的回复:
Quote: 引用 3 楼 daixf_csdn 的回复:

entityFramework支持anywhere?它的支持类库是哪个?


entityFramework怎么连接sql anywhere数据库用odbc或者oledb可以吗

好像不支持的吧

#6


entityFramework 目前只有sqlserver

#7


引用 4 楼 yeoh123 的回复:
Quote: 引用 3 楼 daixf_csdn 的回复:

entityFramework支持anywhere?它的支持类库是哪个?


entityFramework怎么连接sql anywhere数据库用odbc或者oledb可以吗

你如果理解EF的原理,就知道应该不行。ORM是需要SQL翻译的,那么翻译SQL的代码在哪里?不可能是.net自带的dll,必须是新的支持库dll。
sqlserver是:EntityFramework.SqlServer.dll
mysql是:MySql.Data.Entity.EF6.dll

那么,你找到 EntityFramework.Odbc.dll了吗?

#8


引用 6 楼 zuoming120 的回复:
entityFramework 目前只有sqlserver
有MySQL和oracle,其他的好像见过第三方的一些。

#9


sqlite也支持
System.Data.SQLite.EF6.dll

#10


https://www.cnblogs.com/LoveSuk/p/6739642.html   这个有提到sql anywhere  但也是提到

#11


引用 10 楼 qq_30465445 的回复:
https://www.cnblogs.com/LoveSuk/p/6739642.html   这个有提到sql anywhere  但也是提到
  这里面 也只说ef 支持 SQLanywhere

#12


不清楚,爱莫能助
https://blog.csdn.net/apollokk/article/details/5609182

#13


通过NuGet导入Sap.Data.SQLAnywhere.EF6, Entity Framework support

#1


entityFramework怎么连接sql anywhere数据库  你配置文件没报错??

#2




引用 1 楼 qq_30465445 的回复:
entityFramework怎么连接sql anywhere数据库  你配置文件没报错??


呃。。。因为不能复制,发帖的时候我自己敲上去的,敲错了,请忽略这个
实际的代码中是正确的

#3


entityFramework支持anywhere?它的支持类库是哪个?

#4


引用 3 楼 daixf_csdn 的回复:
entityFramework支持anywhere?它的支持类库是哪个?


entityFramework怎么连接sql anywhere数据库用odbc或者oledb可以吗

#5


引用 4 楼 yeoh123 的回复:
Quote: 引用 3 楼 daixf_csdn 的回复:

entityFramework支持anywhere?它的支持类库是哪个?


entityFramework怎么连接sql anywhere数据库用odbc或者oledb可以吗

好像不支持的吧

#6


entityFramework 目前只有sqlserver

#7


引用 4 楼 yeoh123 的回复:
Quote: 引用 3 楼 daixf_csdn 的回复:

entityFramework支持anywhere?它的支持类库是哪个?


entityFramework怎么连接sql anywhere数据库用odbc或者oledb可以吗

你如果理解EF的原理,就知道应该不行。ORM是需要SQL翻译的,那么翻译SQL的代码在哪里?不可能是.net自带的dll,必须是新的支持库dll。
sqlserver是:EntityFramework.SqlServer.dll
mysql是:MySql.Data.Entity.EF6.dll

那么,你找到 EntityFramework.Odbc.dll了吗?

#8


引用 6 楼 zuoming120 的回复:
entityFramework 目前只有sqlserver
有MySQL和oracle,其他的好像见过第三方的一些。

#9


sqlite也支持
System.Data.SQLite.EF6.dll

#10


https://www.cnblogs.com/LoveSuk/p/6739642.html   这个有提到sql anywhere  但也是提到

#11


引用 10 楼 qq_30465445 的回复:
https://www.cnblogs.com/LoveSuk/p/6739642.html   这个有提到sql anywhere  但也是提到
  这里面 也只说ef 支持 SQLanywhere

#12


不清楚,爱莫能助
https://blog.csdn.net/apollokk/article/details/5609182

#13


通过NuGet导入Sap.Data.SQLAnywhere.EF6, Entity Framework support