gpt4 book ai didi

asp.net-mvc - 将 MyDbContext 与 IdentityDbContext 合并

转载 作者:行者123 更新时间:2023-12-03 06:00:24 24 4
gpt4 key购买 nike

我在单独的数据访问层类库项目中有一个 MyDbContext。我有一个带有默认 IdentityDbContext 的 ASP.NET MVC 5 项目。这两个上下文使用相同的数据库,我想使用 AspNetUsers 表作为我的一些表的外键。所以我想合并这两个Context,并且我也想使用ASP.NET Identity。

我该怎么做?

请多多指教

这是合并后我的上下文:

public class CrmContext : IdentityDbContext<CrmContext.ApplicationUser> //DbContext
{
public class ApplicationUser : IdentityUser
{
public Int16 Area { get; set; }
public bool Holiday { get; set; }
public bool CanBePublic { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}

public CrmContext()
: base("DefaultConnection")
{

}

public DbSet<Case> Case { get; set; }
public DbSet<CaseLog> CaseLog { get; set; }
public DbSet<Comment> Comment { get; set; }
public DbSet<Parameter> Parameter { get; set; }
public DbSet<Sign> Sign { get; set; }
public DbSet<Template> Template { get; set; }
public DbSet<Read> Read { get; set; }

protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
}

这是我的 RepositoryBase 类:

    public class RepositoryBase<TContext, TEntity> : IRepositoryBaseAsync<TEntity>, IDisposable
where TContext : IdentityDbContext<CrmContext.ApplicationUser> //DbContext
where TEntity : class
{
private readonly TContext _context;
private readonly IObjectSet<TEntity> _objectSet;

protected TContext Context
{
get { return _context; }
}

public RepositoryBase(TContext context)
{
if (context != null)
{
_context = context;
//Here it is the error:
_objectSet = (_context as IObjectContextAdapter).ObjectContext.CreateObjectSet<TEntity>();
}
else
{
throw new NullReferenceException("Context cannot be null");
}
}
}

EntityFramework.dll 中发生'System.Data.Entity.ModelConfiguration.ModelValidationException' 类型的异常,但未在用户代码中进行处理。

最佳答案

  1. 移动ApplicationUser定义到您的 DAL。
  2. 继承您的MyDbContext来自IdentityDbContext<ApplicationUser>IdentityDbContext
  3. OnModelCreating - 提供外键信息。
  4. 密码 MyDbContext创建 UserManager<ApplicationUser>

关于asp.net-mvc - 将 MyDbContext 与 IdentityDbContext 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19764233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com