2

我正在尝试使用 sql server 数据库中的 asp.net 成员身份创建 MVC 3 应用程序。我希望能够在这个应用程序上使用实体框架进行开发。

我已经通过数据库创建并使用 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

谁能指出我正确的方向以正确获取此设置,以便我的应用程序可以访问数据库?

编辑:作为对第一条评论的回应,连接字符串如下所示:

 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" />
4

2 回答 2

4

使用 asp.net 成员资格时,实体框架连接字符串将不起作用。我的项目中没有这样的;即您需要单独的连接字符串;

您的会员连接字符串;

<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" />
于 2012-07-03T18:08:44.547 回答
2

它不是会员资格可以使用的有效连接字符串,它是一种特殊的连接字符串,只能由 EF 使用(因为会员资格期望 AFAIK 的提供名称不同)。

添加一个清晰的常规连接字符串并对其进行引用。

于 2012-07-03T18:09:16.583 回答