System.ArgumentException:'不支持的关键字:'attachdbfilename'。

时间:2019-11-20 10:08:56

标签: c# asp.net asp.net-mvc model-view-controller

我试图将我的asp.net mvc项目从没有身份验证更改为单个用户帐户。 我到了需要将AdminDbContext更改为Application Db上下文的地步。

我读到我需要在我的mdf数据库的连接字符串中放入字符串,但是我在标题中得到了错误。我尝试删除attachdbfilename,但是由于集成了安全性,因此无法正常工作。我删除了那个后,它告诉我该路径无效。

public class 
    {

         public ApplicationDbContext()
            : base("Data Source = (LocalDB)\\MSSQLLocalDB; AttachDbFilename=C:\\Users\\Alex\\Desktop\\Licenta\\Licenta\\App_Data\\Database.mdf;Integrated Security 
          = True", throwIfV1Schema: false)
        {    
        }

        public DbSet<Food> Foods { get; set; }
        public DbSet<User> Users { get; set; }

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

我得到的异常是来自以下代码:

 if (!roleManager.RoleExists("Administrator"))  <---
            {
                // Se adauga rolul de administrator
                var role = new IdentityRole();
                role.Name = "Administrator";
                roleManager.Create(role);
                // se adauga utilizatorul administrator
                var user = new ApplicationUser();
                user.UserName = "admin@admin.com";
                user.Email = "admin@admin.com";
                var adminCreated = UserManager.Create(user, "Administrator1!");
                if (adminCreated.Succeeded)
                {
                    UserManager.AddToRole(user.Id, "Administrator");
                }
            }

它与以下问题不同:Keyword not supported: 'attachdbfilename' - MDF Database File (C#),因为我不使用sqlce,并且删除attachdbname仍然不起作用,如上所述。

1 个答案:

答案 0 :(得分:0)

使用此: AttachDbFilename=|DataDirectory|\dbfilename.mdf

尝试在连接字符串中将User Instance设置为True。

如果仍然出现错误。请让我知道错误消息