首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改基础EF数据库

更改基础EF数据库
EN

Stack Overflow用户
提问于 2015-03-24 14:10:56
回答 1查看 83关注 0票数 0

我很惊讶以前没人问过这个问题,但我要说:

我有一个WCF服务,该服务目前使用实体框架( Entity ),并将SQLCompact作为底层数据源。有些需求发生了变化,我不能再为此使用嵌入式数据库了,因此我们现在有了一个完整的SQL Server,它反映了原始的模式,并且填充了完全相同的数据。我正在努力弄清楚如何改变实体框架的底层数据源,但是看起来还没有一种直接的方法来做到这一点。

下面是我的配置和修改它的尝试(注释掉的行是最初的配置:

代码语言:javascript
复制
<entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
      <parameters>
        <parameter value="System.Data.SqlServer" />
      </parameters>
    </defaultConnectionFactory>
    <providers>
      <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
      <!--<provider invariantName="System.Data.SqlServerCe.4.0" type="System.Data.Entity.SqlServerCompact.SqlCeProviderServices, EntityFramework.SqlServerCompact" />-->
    </providers>
</entityFramework>
<system.data>
<!--<DbProviderFactories>
  <remove invariant="System.Data.SqlServerCe.4.0" />
  <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>-->
</system.data>
<connectionStrings>
    <!--<add name="ApplicationServiceDataEntities" connectionString="metadata=res://*/LoanAppEntity.csdl|res://*/LoanAppEntity.ssdl|res://*/LoanAppEntity.msl;provider=System.Data.SqlServerCe.4.0;provider connection string=&quot;data source=|DataDirectory|\ApplicationServiceData.sdf&quot;" providerName="System.Data.EntityClient" />-->
<add name="ApplicationServiceDataEntities" connectionString="Data Source=REMOVED;Initial Catalog=LoanAppData;persist security info=True; user id=REMOVED;password=REMOVED;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
</connectionStrings>

我不知道我需要在这里修改什么,因为我以前从来没有这样做过。我在网上看到的大多数东西都显示了如何在运行时进行操作,但我希望这种情况完全改变。最让我困惑的是,我不熟悉连接字符串的部分内容,包括元数据& res://和配置中看到的ssdl / csdl / msl扩展。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-24 14:14:40

只需注释掉或删除旧连接字符串,并添加指向新Server的新连接字符串即可。

编辑将连接字符串更改为EF生成的模型

代码语言:javascript
复制
 <connectionStrings>
    <add name="ApplicationServiceDataEntities" connectionString="metadata=res://*/LoanAppEntity.csdl|res://*/LoanAppEntity.ssdl|res://*/LoanAppEntity.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=DATABASEIP;initial catalog=DATABASENAME;persist security info=True;user id=DATABASEUSER;password=DATABASEPASS;multipleactiveresultsets=True;application name=EntityFramework&quot;" providerName="System.Data.EntityClient" />  
 </connectionStrings>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29234848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档