我有一个实体4.0模型,它使用SqlServerCE数据库作为其提供者。我正在尝试添加SQL Server连接字符串,以便我可以选择使用SQL Server或SQLCompact数据库。
这是我的连接字符串
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<connectionStrings>
<--<add name="SomeDBEntities" connectionString="metadata=res://*/SomeDB.csdl|res://*/SomeDB.ssdl|res://*/SomeDB.msl;provider=System.Data.SqlServerCe.4.0;provider connection string="Data Source=ABC.sdf"" providerName="System.Data.EntityClient" />-->
<add name="SomeDBEntities" connectionString="metadata=res://*/SomeDB.csdl|res://*/SomeDB.ssdl|res://*/SomeDB.msl;provider=System.Data.SqlClient;provider connection string="Data Source=Database;Initial Catalog=MyDatabase;Integrated Security=True;multipleactiveresultsets=True;"" providerName="System.Data.EntityClient" />
</connectionStrings>
<entityFramework>
<!--<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework"> <parameters>
<parameter value="System.Data.SqlServerCe.4.0" />
</parameters>
</defaultConnectionFactory>-->
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="Data Source=Database;Integrated Security=True;multipleactiveresultsets=True" />
</parameters>
</defaultConnectionFactory>
&lt; - &gt;
当我尝试查询实体模型时,出现以下错误: SqlCeCommand.CommandTimeout不支持非零值。
如何将提供程序从SqlServerCE设置为SqlClient?
答案 0 :(得分:0)
在edmx文件中指定了SqlServerCE提供程序。
您需要创建第二个SSDL文件,如下所述:http://www.codeproject.com/Articles/82017/Preparing-an-Entity-Framework-model-for-multi-prov.aspx