你有什麼是一個有效的ADO.NET連接字符串 - 但它是不是一個有效的實體框架連接字符串。
的EF連接字符串會是這個樣子:
<connectionStrings>
<add name="NorthwindEntities" connectionString=
"metadata=.\Northwind.csdl|.\Northwind.ssdl|.\Northwind.msl;
provider=System.Data.SqlClient;
provider connection string="Data Source=SERVER\SQL2000;Initial Catalog=Northwind;Integrated Security=True;MultipleActiveResultSets=False""
providerName="System.Data.EntityClient" />
</connectionStrings>
你錯過了所有的EF連接字符串中的metadata=
和providerName=
元素......你基本上只能有什麼包含在provider connection string
部分。
使用EDMX設計器應該在您的web.config或app.config中爲您創建一個有效的EF連接字符串。
馬克
UPDATE:OK,我明白你想要做什麼:你需要第二個「ADO.NET」連接只是爲ASP.NET用戶/會員數據庫字符串。你的字符串是好的,但providerName是錯誤的 - 它必須是「System.Data.SqlClient」 - 這個連接不使用ENtity Framework - 不要爲它指定「EntityClient」!
<add name="ASPNETMembership"
connectionString="Data Source=MONTGOMERY-DEV\SQLEXPRESS;Initial Catalog=ASPNETDB;Integrated Security=True;"
providerName="System.Data.SqlClient" />
如果指定providerName=System.Data.EntityClient
==>實體框架連接字符串(與元數據=和一切)。
如果需要,指定providerName=System.Data.SqlClient
==>直ADO.NET SQL Server連接字符串沒有所有的EF增加
事實上,它確實存在,但後來發現異常無法打開物理文件「C:\ OVSS \ Stavicky \ trunk \ Stavicky \ App_Data \ aspnetdb.mdf」。操作系統錯誤5:「5(無法檢索此錯誤的文本,原因:15105)」。 嘗試附加文件C:\ OVSS \ Stavicky \ trunk \ Stavicky \ App_Data \ aspnetdb.mdf的自動命名數據庫失敗。具有相同名稱的數據庫存在,或指定的文件無法打開,或位於UNC共享上。從某些來源,我想,這是錯誤的..無論如何。 – Trimack 2009-09-10 10:32:37
我不知道我理解第二個連接字符串問題。我應該讓那裏的設計師生成並添加您寫給我的ASPNETMembership? – Trimack 2009-09-10 10:42:07
如果您的實體在EDMX設計器中 - 那些需要通過「EntityClient」和EF連接字符串進行訪問。如果使用「開箱即用」的ASP.NET成員資格系統,它不是** EF模型的一部分,所以當您爲ASP.NET成員資格數據庫創建連接字符串時,不能使用「 EntityClient「作爲提供者 - 使用SqlClient。 – 2009-09-10 11:49:33