C# Identity DefaultConnection数据库到SQL Server
我使用C#身份登录/注册用户。一切都可以在本地运行,但当我实时发布时,注册/登录不起作用。我认为这是因为连接字符串指向LocalDb。我一直试图把它放在我的服务器数据库中,但当我这样做时,我得到的ApplicationUser不是模型的一部分。我现在只使用AspNetUser表。有什么建议吗 默认连接字符串C# Identity DefaultConnection数据库到SQL Server,c#,asp.net-identity,ssms,C#,Asp.net Identity,Ssms,我使用C#身份登录/注册用户。一切都可以在本地运行,但当我实时发布时,注册/登录不起作用。我认为这是因为连接字符串指向LocalDb。我一直试图把它放在我的服务器数据库中,但当我这样做时,我得到的ApplicationUser不是模型的一部分。我现在只使用AspNetUser表。有什么建议吗 默认连接字符串 <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Att
<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-WebApplication1-20171104124939.mdf;Initial Catalog=aspnet-WebApplication1-20171104124939;Integrated Security=True"
providerName="System.Data.SqlClient"/>
也许我不太了解您需要什么,但通常标识表应该与其他表位于同一数据库中,这与您的特定问题有关。也许您还希望在用户/身份和“业务”表之间建立一些关系 如果是这种情况,您可以将默认连接字符串更改为指向与EF连接字符串相同的数据库。这将使您的身份在EF数据库中创建必要的表,然后您可以在edmx中导入这些表 这将使您的EF模型与您的标识模型具有相同的实体 希望这有帮助,
汤姆在这段视频中准确地找到了我想要的东西
我基本上需要将ASP.net创建的默认连接字符串更改为指向我自己的数据库。此外,我还需要知道如何在数据库中创建标识表。视频向我展示了如何执行这些操作。为什么您的服务器连接字符串使用EF型号?@ErikPhilips我不确定我是否理解您的问题。。但连接字符串是这样生成的,因为我使用Visual Studio 2015实体数据模型向导从数据库中使用了EF Designer。您的问题很不清楚。这两个连接字符串是在web.config中还是仅为1?因为一个是普通连接字符串,另一个是EF连接,并且它们不兼容仅切换。这两个都是my web.Config中的连接字符串。您可能需要两个连接字符串,一个用于标识,另一个用于EF模型。它们可以指向同一个数据库。
<add name="connectionStringName"
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=den1.mssql1.gear.host;initial catalog=databaseName;user id=userName;password=userPassword;MultipleActiveResultSets=True;App=EntityFramework""
providerName="System.Data.EntityClient" />
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
}