将实体框架连接字符串转换为 SQL Server Express

Posted

技术标签:

【中文标题】将实体框架连接字符串转换为 SQL Server Express【英文标题】:Converting Entity Framework connection string to SQL Server Express 【发布时间】:2011-08-17 20:11:29 【问题描述】:

我的项目有一个实体框架连接字符串,但我想连接到 SQL Server Express 数据库,所以我认为我必须将连接字符串更改为 SQL Server Express - 但是如何?

我想更改下面的连接字符串。仅更改同一 SQL Server mdf 文件的连接字符串是否也足够连接数据库?

<add name="MyEntities"
     connectionString="metadata=res://*/Model.MyEntities.csdl|res://*/Model.MyEntities.ssdl|res://*/Model.TravldbEntities.msl;
     provider=System.Data.SqlClient;
     provider connection string=&quot;Data Source=sandiego;
                                Initial Catalog=mydatabse;Persist Security Info=True;
                                User ID=user;Password='password';MultipleActiveResultSets=True&quot;"
     providerName="System.Data.EntityClient" />

【问题讨论】:

【参考方案1】:

你试过什么?我不熟悉 EF,但为什么不尝试类似于普通 C# 应用程序的连接方式:

<add name="MyEntities"
 connectionString="provider=System.Data.SqlClient;
    Data Source=sandiego; -- maybe needs to be sandiego\SQLEXPRESS?
    User ID=user;
    Password=password;">

如果您确定需要 MARS 属性,我只会指定它。

【讨论】:

【参考方案2】:

而不是这个:

 Data Source=sandiego

使用这个:

 Data Source=SomeMachineNameOrIP\SQLExpress

这是另一个similar answer。

【讨论】:

如果是本地mdf文件?我必须提供完整路径吗? 如果您的数据库已经附加到 SQL Express 实例,不,它不是 MDF 文件的路径,而是对 SQL Server Express 实例的引用。

以上是关于将实体框架连接字符串转换为 SQL Server Express的主要内容,如果未能解决你的问题,请参考以下文章

在实体框架代码优先中,为啥我不能在连接字符串中使用 SQL Server Express?

如何将 sql server express 数据库附加到实体框架中的项目

实体框架,如何将 IQueryable 与多个 where 转换为 SQL 一起使用?

如何在实体框架中设置 SQL Server 2008 的登录信息?

DataTable 到带有实体框架的 SQL Server 表

在 Visual Studio 中使用实体框架与 SQL Server 的连接问题