实体框架ConnectionString不起作用

时间:2018-04-03 04:23:38

标签: sql asp.net-mvc entity-framework

据我所知,所有与此相关的问题都没有解决我的问题。 我有一个由Azure托管的SQL数据库。超级简单,我想使用Entity Framework将它连接到我的ASP.Net MVC应用程序。

已添加数据模型并且存在edmx文件, 连接字符串

  <connectionStrings><add name="MyDatabase" connectionString="...serverinfo"
providerName="System.Data.EntityClient" /></connectionStrings>

我转到我的IdentityModels.cs并更改以下内容

   public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("MyDatabase", throwIfV1Schema: false)
    {
    }

当我注册用户希望将用户信息添加到我的Azure数据库时,我得到以下内容; “实体类型ApplicationUser不是当前上下文模型的一部分。

我在这方面很有帮助。如果有人可以根据我之前创建的数据库指向我构建和应用的文档,我可以关注或了解我缺少的内容,请告诉我。谢谢

1 个答案:

答案 0 :(得分:0)

Edit your Connection String and Modify your code as Follow - 

<connectionStrings>
<add name="MyDatabasedbEntitiesapplication"   providerName="System.Data.SqlClient" connectionString="database and username password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" />
<add name="MyDatabasedbEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=yourdatasource,1433;initial catalog=yourdbname;user id=username;password=***;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>


Modify the code:

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("MyDatabase", throwIfV1Schema: false)
    {
    }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

Modify AutomaticMigrationsEnabled = true; in Configuration class under Migrations folder.