C# IdentityDbContext是否始终需要DefaultConnection
我在一个asp.net MVC项目中使用IdentityDbContext。 上下文的代码:C# IdentityDbContext是否始终需要DefaultConnection,c#,asp.net,asp.net-mvc-5,asp.net-identity-2,C#,Asp.net,Asp.net Mvc 5,Asp.net Identity 2,我在一个asp.net MVC项目中使用IdentityDbContext。 上下文的代码: public class ApplicationDbContext : IdentityDbContext<ApplicationUser> { public ApplicationDbContext() : base("ApplicationDb") { } } <add name="ApplicationDb" connectionString="Da
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("ApplicationDb")
{
}
}
<add name="ApplicationDb" connectionString="Data Source="..." providerName="System.Data.SqlClient" />
理论上也应该如此。但运行应用程序时仍会创建DefaultConnection。对我来说没有意义。可能的重复不完全正确。我的观点:如果你放置了一个上下文,而没有添加一个构造函数来指向一个connectionstring名称(就像在我的原始文章的最后一段代码中),理论上它应该使用与上下文的类名相对应的connectionstring。在我的例子中,它并没有,而是创建了一个名为DefaultConnection的数据库并使用它。我觉得这不对!能否在应用程序中搜索
DefaultConnection
?你找到了吗?没有,已经在解决方案中找到了,只在一些注释代码中找到了关键字。如果上下文中没有提供connectionstring名称,IdentityDbContext是否依赖于此connectionstring存在??对我来说没有意义,因为关键是它搜索一个名称与上下文类名对应的connectionstring。我在这里感到困惑,它现在正在使用web.config中的额外DefaultConnection,但我真的认为这是不必要的。我同意你的看法。如果在构造函数中传递ApplicationDb,则不应创建DefaultConnection连接字符串。你能在新项目中复制这个问题吗?
public ApplicationDbContext()
{
}