Entity Framework核心关系问题

Entity Framework Core Relationship Problem

我想为用户创建个人待办事项时创建的1-N关系如下。

public class TaskApp
{
    public string Topic { get; set; }

    public string Description { get; set; }

    public bool IsCompleted { get; set; }

    public string UserAppId { get; set; }

}

public class UserApp:IdentityUser
{
    public string NameSurname { get; set; }

    public ICollection<TaskApp> TaskApps { get; set; }
}

这里发生的事情是我没有在 TaskApp 文件夹中显示用户 table,我只是将其指定为 UserAppId.

我想添加TaskApp的时候,也是去UserAppId里面带上登录用户的claim name这边

如何在我的 类 中显示此内容?

在 EF Core 中使用 two-way 导航没有任何问题,因此我相信您可以使用以下实体:

public class TaskApp
{
    public string Topic { get; set; }

    public string Description { get; set; }

    public bool IsCompleted { get; set; }

    public string UserAppId { get; set; }

    // Adding this reference is not a bad practice
    public UserApp UserApp { get; set; }
}

public class UserApp : IdentityUser
{
    public string NameSurname { get; set; }

    public ICollection<TaskApp> TaskApps { get; set; }
}

现在您可以使用 .Include 并按以下方式导航:

context.TaskApp.Include(x => x.UserApp);

或者如果您需要按任何条件过滤:

context.TaskApp.Include(x => x.UserApp.Where(q => q.IsCompleted == true);