【发布时间】:2017-02-01 05:10:54
【问题描述】:
我创建了一个带有 Identity 和 MySQL 的 MVC 应用程序。我已经创建了我的实体,但是当我创建用户表时它失败并出现标题中指定的错误。
我搜索了一下,有人说UserName、Name 和Email 属性太长了。我已经厌倦了像下面的示例那样在这些列上设置最大长度,但我无法让它工作。
身份模型:
[DbConfigurationType(typeof(MySql.Data.Entity.MySqlEFConfiguration))]
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("CaptureDBContext", throwIfV1Schema: false)
{
}
public static ApplicationDbContext Create()
{
return new ApplicationDbContext();
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.Entity<ApplicationUser>().Property(u => u.UserName).IsUnicode(false);
modelBuilder.Entity<ApplicationUser>().Property(u => u.Email).IsUnicode(false);
modelBuilder.Entity<IdentityRole>().Property(r => r.Name).HasMaxLength(255);
}
}
有人可以帮忙吗?
我可以让它与标准实体一起使用,但不能与身份表一起使用
这个问题不是重复的,因为链接中发布的教程已有 2 年历史,当时 MySQL.Data 版本不支持 EF。我正在使用的那个。
【问题讨论】:
标签: c# mysql asp.net-mvc asp.net-identity