首先使用EF代码创建后发布Db

时间:2011-10-02 07:47:58

标签: asp.net-mvc-3 entity-framework nuget

我已经使用代码和nugget在MVC 3中创建了一个项目,  在发布到我的共享主机之前,我想先澄清一些事情: 在我的项目中,我有一个类名:IchudShulContextIchudShul是我的项目名称) 在我的sql server express中,它创建了一个数据库名称:IchudShul.Models.IchudShulContext.dbo 它给我的共享主机数据库的名称有什么不同吗? 或者它是否应符合下列之一:IchudShul / IchudShulContext 我的本地connectionStrings看起来像这样:

connectionString="Data Source=MyPc-MAINPC\SQLEXPRESS;Initial Catalog=IchudShul.Models.IchudShulContext;Integrated Security=True"
     providerName="System.Data.SqlClient" />

由于

3 个答案:

答案 0 :(得分:1)

根据Code-First约定,您的web.config中的 ConnectionString名称应与您的上下文具有相同的名称。数据库名称并不重要。在您的方案中,在您的web.config中:

<connectionStrings>
  <add name="IchudShulContext" providerName="System.Data.SqlClient" 
    connectionString="Data Source=MyPc-MAINPC\SQLEXPRESS;Initial Catalog=WHATEVER_YOUR_DB_NAME_IS;Integrated Security=True" />
</connectionStrings>

如果您想使用约定,请确保名称属性为:IchudShulContext。就这样。用你的db名称填写WHATEVER_YOUR_DB_NAME_IS

答案 1 :(得分:0)

您的共享主机数据库可以命名为任何内容。

应更新您的ConnectionString需要更新以指向您的数据库。那就是,您需要从共享托管服务提供商处了解。

答案 2 :(得分:0)

只要它对您的DBMS有效,您就可以为DB命名。唯一应该与您的datacontext名称匹配的是web.config文件的连接字符串部分中的连接名称。