如何使用实体框架在连接字符串中设置数据库名称

本文关键字:设置 数据库 字符串 连接 何使用 实体 框架 | 更新日期: 2023-09-27 18:11:59

所以我有两个项目的解决方案。第一个项目应该作为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" />

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

我需要改变我的连接字符串,所以我可以得到想要的名字?

如何使用实体框架在连接字符串中设置数据库名称

Try

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

设置连接字符串为

指向sql client

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" />

有关更多connectionstring示例,请参见链接

,不要忘记修改你的dbcontext

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