Code-First更改没有连接字符串的数据源

我似乎在创建MVC4应用程序时遇到问题,我采用了代码优先的方法来创建我的模型,但似乎没有在web.config文件中创建连接字符串。

构建的数据库似乎是基于(localhost)\ SQLEXPRESS实例构建的,但我想将其更改为外部数据源。 没有要更新的连接字符串我不知道如何做到这一点。

请有人指出我正确的方向吗?

编辑:我发现下面的图表突出了答案说得很好

EF DB初始化流程图http://sofzh.miximages.com/c%23/database-init-fg1.png

您必须自己添加连接字符串

 

此字符串的名称应与上下文类的名称匹配。

 public class SomeDb: DbContext { public SomeDb() : base("name=SomeDb") { } } 

这应该做到这一点。

如果您使用ADO.NETentity framework(.edmx),它将使用连接字符串更新您的web.config文件。 但在代码优先,您需要在web.config中编写连接字符串,如,

假设您的dbcontext看起来像,

 public class SampleDbContext:DbContext { public SampleDbContext():base("SampleDbContext") { } ... ... } 

你应该在web.config中使用SampleDbContext名称创建连接字符串,比如

希望这可以帮助

您必须创建一个与DbContext类同名的连接字符串:

    

您还可以使用DbContext类的重载来自己指定连接字符串:

 public class MyDbContext() : base("ProductionDbContext") { } 

现在您可以使用ProductionDbContext作为连接字符串。

有关更多信息,请参阅MSDN上的这篇文章 。