将默认AccountController MVC5与现有数据库

时间:2015-12-29 03:20:54

标签: c# asp.net ef-database-first

我有一个已创建edmx文件的现有数据库。现在我正在尝试将默认AccountController连接到此数据库并实现登录/注册功能,但它不起作用。

我尝试的事情 -

我尝试更改IdentityModels.cs中的上下文。

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext()
            : base("MyConnection")
        {
        }
    } 

错误 - 实体类型ApplicationUser不是当前上下文的模型的一部分。

然后,我尝试了这个

    public partial class myEntities : IdentityDbContext<ApplicationUser>
        {
            public myEntities ()
                : base("name=myEntities ")
            {
            }
    ... }

它也可以起作用。

  1. 有人可以帮我解决连接当前所涉及的步骤 数据库到默认帐户控制器。
  2. 我应该自己在数据库中创建表还是创建表?
  3. 提前致谢。

1 个答案:

答案 0 :(得分:1)

如果您决定使用EDMX,为什么还需要IdentityDbContext? EDMX提供了使用现有数据库所需的一切:连接字符串位于web.config,db context,所有数据实体和CRUD LINQ操作中。在这种情况下,我会直接从任何这样的控制器中调用它们:

using (var myEntities = new MyEntities ())
{
        var users = from u in myEntities.Users
                       where u.id == 1
                       select u;
}

在这种情况下,您的表格和数据库应该存在,否则您必须实施code first approach