MVC3 EF代码第一个连接字符串到localhost

时间:2011-10-10 22:22:07

标签: asp.net-mvc asp.net-mvc-3 connection-string

我正在学习MVC,并尝试按照一些教程和视频http://channel9.msdn.com/Events/DevDays/DevDays-2011-Netherlands/Devdays002 在所有教程中,EF(我想)在SQLEXPRESS中自动创建数据库,但我想使用我的SQLServer本地实例。 更改默认连接字符串:

<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"
     providerName="System.Data.SqlClient" />

为:

<add name="ApplicationServices" connectionString="data source =(local); Initial Catalog =Test;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>

没有帮助,默认数据库仍然在SQLEXPRESS中自动创建。即使完全评论它也没有任何意义。我尝试了一些教程,但它们都基于SQLExpress和mdf文件,我不明白其目的。所以... 如何使EF和我的应用程序与我的本地实例或任何其他实例进行通信?我可以提供更多相关信息,因为我担心我会遗漏一些重要的概念。谢谢!

3 个答案:

答案 0 :(得分:2)

确保连接字符串与您的上下文名称匹配。

如果您的上下文看起来像......

public class MyContext : DbContext

将您的连接字符串名称更改为MyContext

答案 1 :(得分:2)

ApplicationServices连接字符串仅用于Membership数据库。您的EF数据库将拥有自己的连接字符串,通常是Context的名称。

答案 2 :(得分:1)

问题很可能是你的machine.config将LocalSqlServer设置为。\ SQLEXPRESS。 您可以直接为正在使用的框架版本更改machine.config; 或者在应用程序web.config ConnectionStrings部分中使用以下代码: