无法从IdentityDbContext获取数据

时间:2017-07-08 08:02:10

标签: c# asp.net-mvc visual-studio asp.net-core

我的AppUser表继承自IdentityUser表。

我从DBDtext继承IdentityDbContext以在一个数据库中创建所有表

public class MyCustomDBContext : IdentityDbContext<AppUser>
{

    public MyCustomDBContext(DbContextOptions<MyCustomDBContext> options)
        : base(options) { }

    public DbSet<Category> Categories { get; set; }
    public DbSet<Article> Articles { get; set; }
    public DbSet<Bookmark> Bookmarks { get; set; }
}

当我尝试为该代码等特定文章选择书签时,用户名始终为 null

from a in context.Bookmarks
where a.ArticleID == articleID
select new Bookmark
{
    UserID = a.UserID,
    BookmarkDate = a.BookmarkDate,
    appUser = new AppUser 
    { 
        UserName = a.appUser.UserName 
    }
}

我认为因为AppUser表来自继承的上下文IdentityDbContext,

那么,我该怎么办

如果我尝试在MyCustomDBContext中定义AppUser表的属性,这将导致隐藏到父IdentityDbContext中的User表

public DbSet<AppUser> muUsers { get; set; }

1 个答案:

答案 0 :(得分:0)

这是我的错误,

我在UserID上使用ForeignKey属性而不是AppUser:

[ForeignKey("UserID")]
public string UserID { get; set; }

而不是:

[ForeignKey("UserID")]
public AppUser appUser { get; set; }

我调整它并且工作正常