小编mad*_*cap的帖子

使用MySQL和实体框架的ASP.NET标识

我想使用ASP.NET Identity 2和Entity Framework一起使用MySQL进行存储,但我无法让它工作.

我试图按照http://k16c.eu/2014/10/12/asp-net-identity-2-0-mariadb/中的步骤操作,但在运行"启用迁移"时,会出现以下错误:

在类型'Microsoft.AspNet.Identity.EntityFramework.IdentityUser`4 [[System.String,mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089],[Microsoft]上为属性'UserName'指定了冲突的配置设置. AspNet.Identity.EntityFramework.IdentityUserLogin,Microsoft.AspNet.Identity.EntityFramework,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35],[Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole,Microsoft.AspNet.Identity.EntityFramework, Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35],[Microsoft.AspNet.Identity.EntityFramework.IdentityUserClaim,Microsoft.AspNet.Identity.EntityFramework,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35]]' :MaxLength = 256与MaxLength = 128冲突

这就是我所做的:我创建了一个只有类库项目的新解决方案.对于该项目,我已经为Entity Framework和MySQL添加了Nuget包(如上文所述),并通过添加连接字符串修改了app.config:

<add name="MyConnection" connectionString="Datasource=localhost;Database=test1;uid=user;pwd=password;Convert Zero Datetime=True;Allow User Variables=True;" providerName="MySql.Data.MySqlClient" />
Run Code Online (Sandbox Code Playgroud)

项目中唯一的代码是ApplicationContext和ApplicationUser这两个类:

using System.Data.Entity;
using Microsoft.AspNet.Identity.EntityFramework;
using MySql.Data.Entity;

namespace Models
{
    [DbConfigurationType(typeof(MySqlEFConfiguration))]
    public class ApplicationContext : IdentityDbContext<ApplicationUser>
    {
        /// <summary>
        /// To use this constructor you have to have a …
Run Code Online (Sandbox Code Playgroud)

c# mysql entity-framework visual-studio-2013 asp.net-identity-2

2
推荐指数
1
解决办法
2727
查看次数