2011年1月20日 星期四

Entity Framework Code First 應用中如何撰寫Connection String

Entity Framework Code First 目前為CTP5版本這種方法,讓我們使用Entity Framework時,不用再產生一個EF檔案,可以藉由將EntityFramework.dll加入參考(Add reference),從此後,我們操作Entity Framework就好向操作一般元件一樣方便,當然,我們使用EF就是要存取資料庫中的資料,無論是使用SQL Server Compact Edition 4SQL Server Express或是正式的SQL Server版本,都需要加上一段ConnectionString。


但是之前使用Entity Framework,ConnectionString是VS 2010 幫我們加上去的,不需用手打到web.config上,現在使用Entity Framework Code First,我們只好乖乖的手動加到web.config的<connectionStrings>區段中,加的時候,千萬不要被之前自動產生的ConnectionString所影響,暫時不要使用「providerName="System.Data.EntityClient"」,而是使用「providerName="System.Data.SqlClient"」,才可以正常連到SQL Server。如果providerName使用System.Data.EntityClient.網站在動態執行時,則會出現下圖的「keyword not supported:'data source'」錯誤訊息。



所以web.config中,整段<connectionStrings>描述我們可如下撰寫:



   1:  <connectionStrings>
   2:    <add name="Northwind" 
   3:      connectionString="Data Source=192.168.100.101;
   4:      Initial Catalog=Northwind;
   5:      User ID=northwinduser;
   6:      Password=usernorthwind;" 
   7:      providerName="System.Data.SqlClient"/>
   8:  </connectionStrings>

經由上面的調整後,就可順利顯示出我們要的結果,如下圖,不會再有與ConnectionString相關的錯誤了。


我相信自動產生ConnectionString這一點小事,Entity Framework Code First未來版本一定會解決的,祝大家使用愉快!

沒有留言:

張貼留言