对于示例,我使用以下连接字符串:
<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.EdmMetadata和dbo.Pictures )
表是可以的,但是为什么不用这些表创建一个名为PicturesDatabase的新数据库(如连接字符串)?
我试过几次放弃这个表,我尝试过创建PicturesDatabase并使用它.但是它仍然生成这个MyAppNamespace.Models.PicturesCatalog。有什么问题吗?我该怎么解决呢?
发布于 2010-11-25 23:15:36
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>https://stackoverflow.com/questions/4280996
复制相似问题