2010-11-25 47 views
1

对于样品我使用这个连接字符串:EF CTP 4数据库名称配置

<connectionStrings>  
<add name="PicturesDatabase" 
     connectionString=" Server=.; 
          Database=SomeprojectDatabase; 
          Trusted_Connection=True;" 
     providerName="System.Data.SqlClient"/> 
<../> 

然后,我用它的Application_Start():

Database.DefaultConnectionFactory = 
    new SqlConnectionFactory(ConfigurationManager. 
     ConnectionStrings["PicturesDatabase"].ConnectionString); 

而在我的数据库中,我得到这个真奇怪新数据库: MyAppNamespace.Models.PicturesCatalog 与两个表dbo.EdmMetadatadbo。图片

表格很好,但它为什么不创建一个新的数据库名为PicturesDatabase(如在连接字符串)与这些表?

我试过下降这个表几次,我曾尝试创建PicturesDatabase,并用它...但它仍然会产生这种MyAppNamespace.Models.PicturesCatalog。它有什么问题?我该如何解决它?

回答

5

System.Data.Entity.Infrastructure.SqlConnectionFactory并不意味着以这种方式使用。该连接工厂包括一个构造函数,使我们可以覆盖件最终连接刺痛,如用户名,密码和服务器,而不是整个事情。

例如,我们可以更改数据库服务器这样的:

Database.DefaultConnectionFactory = 
     new SqlConnectionFactory("Server=MyDatabaseServer"); 

你试图在这里做可以在你的app.config提供一个连接字符串很容易地完成这也就比赛的名字你的DbContext - 我想这是PicturesCatalog

<connectionStrings> 
    <add name="PicturesCatalog" connectionString="data source=.; 
     Initial Catalog=PicturesDatabase; Trusted_Connection=True;" 
     providerName="System.Data.SqlClient" /> 
</connectionStrings> 
+0

是啊,它只是我想要的方式。多谢! – 2010-11-26 09:58:29