目前在使用Entity Framework和SimpleMembership时,我需要在web.config中有2个连接字符串.
第一个用于调用WebSecurity.InitializeDatabaseConnection及其简单的连接字符串.另一个是edmx,包含文件引用和连接字符串信息.这意味着连接字符串信息在文件中两次.
除了重复信息,我相信使用azure(未经证实)可能是一个问题.
有没有办法将此减少到一个连接字符串,只保留一个为edmx.简单地将EF one传递给WebSecurity初始化方法不起作用.
解决方法
是的,您可以为两者使用相同的连接字符串.不同之处在于edmx的连接字符串包含模型的额外元数据.
最好的办法是只使用edmx连接字符串,然后用EntityConnectionStringBuilder解析它.
var builder = new EntityConnectionStringBuilder(entityConnectionString); string sqlConnString = builder.ConnectionString;
然后使用该连接字符串初始化SimpleMembershipProvider
WebSecurity.InitializeDatabaseConnection(sqlConnString,"User","UserId","UserName",autoCreateTables: true);