2

目前在使用 Entity Framework 和 SimpleMembership 时,我需要在web.config.

第一个在调用时使用WebSecurity.InitializeDatabaseConnection,它是一个简单的连接字符串。另一个用于 edmx,包含文件引用和连接字符串信息。这意味着连接字符串信息在文件中存在两次。

除了重复信息外,我相信使用 azure (未经证实)可能是一个问题。

有没有办法将它减少到一个连接字符串,并只保留一个用于 edmx。简单地将 EF 传递给 WebSecurity 初始化方法是行不通的。

4

1 回答 1

4

是的,您可以为两者使用相同的连接字符串。不同之处在于 edmx 的连接字符串包含模型的额外元数据。

最好的办法是只拥有 edmx 连接字符串,然后使用EntityConnectionStringBuilder对其进行解析。

var builder = new EntityConnectionStringBuilder(entityConnectionString);
string sqlConnString = builder.ConnectionString;

然后使用该连接字符串初始化 SimpleMembershipProvider

WebSecurity.InitializeDatabaseConnection(sqlConnString, "User", "UserId", "UserName", autoCreateTables: true);
于 2013-06-08T15:23:51.677 回答