我正在开发一个使用 Identity FrameworkEntity framework 的ASP.NET MVC 5应用程序,它是 deployed on Azure . 我已经创建了所有的Identity Framework表,如ASPNetUsers,ASPNetRoles等,在我的项目数据库中,在SQL Server数据库上,在Azure上,我的应用程序与此数据库连接 .

The Problem is ,如果我在我的机器上运行应用程序并注册用户,它会在Azure数据库中的 ASPNetUsers 表中创建应用程序所连接的用户,但是当我在Azure上发布我的应用程序并尝试在已部署的应用程序上注册用户时,它创建一个新数据库并在新数据库中创建所有Identity表,如ASPNetUsers,ASPNetRoles等,并将用户添加到此数据库 .

For example ,我的本地计算机上的应用程序正在使用“ MyStore "db on Azure for storing new registered users. When the app is published on Azure and I register new users on published app, instead of creating users in the MyStore database, it creates a new database on Azure, something like " MyStore20180829382_db ”,并在此数据库中创建所有Identity框架所需的表,并向其添加用户数据 .

我的 Web.Config 有以下两个连接字符串 . 一个用于Identity Framework,另一个用于Entity Framework .

<add name="DefaultConnection" connectionString="Password=*****;Persist Security Info=True;User ID=campusstore;Initial Catalog=campusstore;Data Source=campusstore.database.windows.net"
     providerName="System.Data.SqlClient"/>

<add name="CampusStoreEntities" connectionString="metadata=res://*/DatabaseEntities.CampusStoreOnline.csdl|res://*/DatabaseEntities.CampusStoreOnline.ssdl|res://*/DatabaseEntities.CampusStoreOnline.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=campusstore.database.windows.net;initial catalog=campusstore;persist security info=True;user id=campusstore;password=****;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

我不明白为什么我的应用程序在Azure上为Identity表创建一个单独的数据库?