将实体框架连接字符串转换为 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的主要内容,如果未能解决你的问题,请参考以下文章