我正在学习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和我的应用程序与我的本地实例或任何其他实例进行通信?我可以提供更多相关信息,因为我担心我会遗漏一些重要的概念。谢谢!
答案 0 :(得分:2)
确保连接字符串与您的上下文名称匹配。
如果您的上下文看起来像......
public class MyContext : DbContext
将您的连接字符串名称更改为MyContext
答案 1 :(得分:2)
ApplicationServices连接字符串仅用于Membership数据库。您的EF数据库将拥有自己的连接字符串,通常是Context的名称。
答案 2 :(得分:1)
问题很可能是你的machine.config将LocalSqlServer设置为。\ SQLEXPRESS。 您可以直接为正在使用的框架版本更改machine.config; 或者在应用程序web.config ConnectionStrings部分中使用以下代码: