2012-02-11 52 views
0

所以我正在瀏覽這個教程,看起來很簡單,但我似乎無法使其工作。 http://msdn.microsoft.com/en-us/data/gg685489不支持的關鍵字:'name'

這是我在運行我的應用程序時收到的錯誤:「不支持關鍵字:'name'。」

現在我看了其他類似於我的帖子,它似乎像連接字符串是問題。所以我仔細觀察,但看不到任何真正的差異。

<add name="BBCommercialSolutionsEntities" 
    connectionString="metadata=res://*/Models.BBCommercialSolutions.csdl|res://*/Models.BBCommercialSolutions.ssdl|res://*/Models.BBCommercialSolutions.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=MYSOURCENAME;initial catalog=MYDATABASENAME;multipleactiveresultsets=True;App=EntityFramework&quot;" 
    providerName="System.Data.EntityClient" /> 

在我的CompanyController.cs類中,使用.ToList()時收到錯誤。

public ActionResult Index() 
    { 
     //return View(); 
     using (var db = new BBCommercialSolutionsEntities()) 
     { 
      //return View(db.BBCSCompanies.ToList()); 
      var tbl = db.BBCSCompanies; 

      var list = tbl.ToList(); 

      return View(tbl.ToList()); 
     } 
    } 

和 「新BBCommercialSolutionsEntities()」 去我的自動生成的模板

public BBCommercialSolutionsEntities() 
     : base("name=BBCommercialSolutionsEntities") 
    { 
    } 

任何想法,思想,解釋,咆哮會有所幫助。

+0

你爲什麼要訪問數據在你的控制器? – 2012-02-11 00:08:35

+0

@AntonyScott - 他可能只是在測試和搞亂。他正在接受一個教程,所以很可能。 – 2012-02-11 00:09:57

+0

嗯,公平點。 – 2012-02-11 00:10:59

回答

1

只需使用BBCommercialSolutionsEntities

public BBCommercialSolutionsEntities() : base("BBCommercialSolutionsEntities") 
{ 
} 
+0

感謝您的回覆。我現在得到這個錯誤:「無法找到請求的.Net框架數據提供程序,它可能沒有安裝。」我將不得不在論壇上多做點事。 – thatstevedude 2012-02-11 00:24:18

+0

您在連接字符串提供商 的providerName =「System.Data.EntityClient」 請確保您有正確安裝了.NET Framework。您正在使用EF Code First。從官方發佈的Aparat有幾個EF版本不幸地浮動:( – Digvijay 2012-02-11 10:57:41

+0

我做了一些進一步的研究,並使用了錯誤的框架。我在這裏下載了正確的框架:http://blogs.msdn.com/b/adonet/archive/ 2011/04/11/ef-4-1-released.aspx。現在一切似乎都很順利,謝謝! – thatstevedude 2012-02-13 22:29:21