我已经使用代码和nugget在MVC 3中创建了一个项目,
在发布到我的共享主机之前,我想先澄清一些事情:
在我的项目中,我有一个类名:IchudShulContext
(IchudShul
是我的项目名称)
在我的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" />
由于
答案 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文件的连接字符串部分中的连接名称。