连接字符串 EF 代码优先

Posted

技术标签:

【中文标题】连接字符串 EF 代码优先【英文标题】:Connection string EF Code First 【发布时间】:2013-08-15 20:50:03 【问题描述】:

我首先使用实体​​框架代码启动了一个应用程序。 在我的 Web.config 中,我添加了连接字符串:

<add name="MyContext" connectionString="Data Source=server\mssqlserver2008;Initial Catalog=dbname;persist security info=True; Integrated Security=SSPI" providerName="System.Data.SqlClient" />

当我尝试访问我的 Controller 时收到错误消息:数据库“master”中的 CREATE DATABASE 权限被拒绝

所以,我调试了代码,发现我的上下文中的属性“ConnectionString”与我的 Web.config 不同:

Data Source=.\\SQLEXPRESS;Initial Catalog=MyProject.Models.MyContext;Integrated Security=True;MultipleActiveResultSets=True;Application Name=EntityFrameworkMUE

为什么 ConnectionString 错了??

【问题讨论】:

看看CREATE DATABASE permission denied问题 【参考方案1】:

在你的 EF 初始化代码中,确保你像这样指定连接字符串名称

public class MyDbContext : DbContext

    public MyDbContext() : base("MyContext") 

【讨论】:

以上是关于连接字符串 EF 代码优先的主要内容,如果未能解决你的问题,请参考以下文章

实体框架代码的动态连接字符串首先在运行时 EF6(mssql、mysql、oracle)中用于多个数据库提供程序

带有 EF 6 的 MySql 连接器

由EF代码优先决定SQL Azure数据库版本和大小的因素?

将连接字符串传递给代码优先的 DbContext

EF4 Code only ctp5:如何设置连接字符串 devart oracle?

如何在 EF6 中将连接字符串传递给 DataContext