如何使用Entity Framework 5在连接字符串中设置数据库名称

时间:2014-07-08 07:22:31

标签: c# asp.net entity-framework

所以我有两个项目的解决方案。第一个项目应该充当Data Access Layer,所以在app.config文件中我有这个:

<connectionStrings>
 <add name="BloggingContextCF" 
   connectionString="provider=System.Data.SqlClient;
   provider connection string=&quot;
   data source=*****\SQLEXPRESS;
   initial catalog=CodeFirst.Blogging;
   integrated security=True;
   MultipleActiveResultSets=True;
   App=EntityFramework&quot;" 
   providerName="System.Data.EntityClient" />

第二个Project是一个ASP.NET Web Forms项目,我删除了指向(local)实例的默认连接字符串,只留下一个连接字符串,即第一个Data Access Layer项目中的连接字符串。哪个实际工作,数据库是在我的SQL 2008 R2服务器上创建的,而不是所需的(和预期的)数据库名称 - CodeFirst.Blogging,其名称为DataAccessLayer.BloggingContextCF,其中DataAccessLayer是项目名称BloggingContextCF是扩展DbContext的类。

我需要在连接字符串中更改哪些内容才能获得所需的名称?

2 个答案:

答案 0 :(得分:0)

尝试

public BloggingContextCF ():base("CodeFirst.Blogging") {}

答案 1 :(得分:0)

使连接字符串像

将其指向sql客户端

providerName="System.Data.EntityClient" 

providerName="System.Data.SqlClient"

对于完整连接字符串,请执行

<add name="BloggingContextCF" connectionString="Server=YOUR_SERVER;Database=DATABASE_NAME;User ID=USER_ID;Password=PASSWORD;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" providerName="System.Data.SqlClient" />

更多连接字符串示例follow the link

并且不要忘记修改dbcontext

public class YourContext : DbContext
{
    public UsersContext()
        : base("BloggingContextCF"){ }
}