2014-06-09 52 views
1

entity framework documentation狀態提供我的連接字符串的時候,我可以使用一個命名參數:的DbContext構造連接字符串錯誤關鍵字名稱不支持

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

我通常不與正常的命名參數打擾:

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

,但我想我給它一個去只是爲了確認:

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

,也未能說

關鍵字不支持:命名

這是EF6。所以我有點卡在不真正關心,但仍然想知道「這是怎麼回事」都是一樣的。

回答

1

我遇到了您的帖子,因爲我有同樣的錯誤。所述MSDN documentation for EF 6 DbContext explcitly指出,構造函數字符串參數的「名稱=」部分被支撐,並且是指:

名稱也可以在形式爲「名稱= MYNAME」通過,在這種情況下 名稱必須是在配置文件中發現或拋出異常將會是 。

換句話說,「name =」前綴強制EF僅查找連接字符串的配置文件條目。

所以你應該檢查你使用「name =」傳遞的值實際上是你的配置文件中的一個名字鍵值。

例如,在配置文件中:

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

在構造函數中:

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

對我來說,這竟然是與ReSharper的一個問題。我暫停了Resharper,並且錯誤消失了。

重新啓動Resharper後,錯誤消失了。

相關問題