2

我想創建一個MVC 3應用程序,在SQL Server數據庫中使用asp.net成員資格。我希望能夠在這個應用程序中使用實體框架進行開發。使用SQL Server的ASP.NET成員資格

我已經創建數據庫,並使用aspnet_regsql實用程序將成員資格表添加到數據庫。我堅持的部分是如何使用我的應用程序連接到這個數據庫。

我增加了一個實體模型,其產生在web.config一個新的連接字符串的項目,我試圖改變的connectionStringName屬性上的所有成員相關的條目,以新的字符串,像這樣:

<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="BlogV1Entities" applicationName="/" /> 

但這不是工作,我想創建通過應用程序或ASP.NET配置實用程序的用戶時,收到錯誤信息

An error occurred while attempting to initialize a System.Data.SqlClient.SqlConnection object. The value that was provided for the connection string may be wrong, or it may contain an invalid syntax. Parameter name: connectionString 

任何人都可以點我在正確的方向正確地得到這個設置,使我的應用程序可以訪問數據庫?

編輯:在回答第一個評論,這是在連接字符串的樣子這樣的:使用asp.net成員時

connectionString="metadata=res://*/BlogV1Model.csdl|res://*/BlogV1Model.ssdl|res://*/BlogV1Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=jesse-laptop;initial catalog=BlogV1;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
+1

如果您查看連接字符串「BlogV1Entities」的內容,它看起來像一個普通的SQL Server連接字符串,還是它有奇怪的特性與* s?如果是這樣,它是DB優先或模型優先的EF(可能是4)連接字符串。 SqlClient不使用這些...你可以從你的實體設計器中提取連接字符串,並將它作爲第二個連接字符串添加,使用它作爲一個簡單的選項... –

+0

我已經在原始文章中發佈了連接字符串 –

回答

4

實體框架的連接字符串將無法正常工作。我沒有像我這樣的項目; i-e您需要單獨的連接字符串;

您的會員連接字符串;

<add name="DAConnection" connectionString="Data Source=.\sqlexpress;initial catalog=E:\MYWORK\DIGITALASSETSMVC3\DAMVC3\APP_DATA\DAMVC3.MDF;integrated security=True" providerName="Syste.Data.SqlClient" /> 

你實體框架連接字符串;

<add name="DAEntities" connectionString="metadata=res://*/Models.DAModel.csdl|res://*/Models.DAModel.ssdl|res://*/Models.DAModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\sqlexpress;initial catalog=E:\MYWORK\DIGITALASSETSMVC3\DAMVC3\APP_DATA\DAMVC3.MDF;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /> 
+0

好吧,這是有道理的。這可能是一個愚蠢的問題,但是有沒有辦法從SQL Server中獲取適當的連接字符串? –

+0

是的,在visual studio server explorer中添加你的連接。這將爲您生成連接字符串。你可以通過右鍵點擊連接字符串查看它並轉到屬性 –

+0

感謝它的工作! –

2

這不是可以由會員使用的有效的連接字符串,它只是可以通過EF(因爲不同的provideName其成員預計AFAIK的)使用一種特殊的連接字符串。

改爲添加一個清晰的常規連接字符串並對其進行引用。