DbContext构造函数连接字符串错误关键字名称不支持



实体框架文档说明我可以在提供连接字符串时使用命名参数:

public class BloggingContext : DbContext 
{ 
    public BloggingContext() 
        : base("name=BloggingCompactDatabase") 
    { 
    } 
}

我通常不关心命名参数:

public TspDbContext()
    : base("ViktorVooey") { }

但我想我应该试一试,只是为了确认一下:

   public TspDbContext()
            : base("name=ViktorVooey") { }

输入

失败

关键字不支持:name

这是在EF6。所以我有点被困在不关心但仍然想知道"这是怎么回事"之间。

我看到你的帖子,因为我有同样的错误。EF 6 DbContext的MSDN文档明确指出,支持构造函数字符串参数的'name='部分,并且表示:

名称也可以以'name=myname'的形式传递,在这种情况下该名称必须在配置文件中找到,否则会出现异常抛出。

换句话说,"name="前缀强制EF只查找连接字符串的配置文件项。

所以你应该检查你用"name="传递的值实际上是配置文件中的一个名称键值。

例如,在配置文件中:

<add name="MyContextName" connectionString="blah blah"/>

在构造函数中:

public MyContext()
            : base("name=MyContextName")

对我来说,这是Resharper的一个问题。我暂停了Resharper, build,错误消失了。

重新启动Resharper后,错误消失了

最新更新