Blazor 服务器应用程序;在浏览器中刷新作为类的属性返回 nul
Posted
技术标签:
【中文标题】Blazor 服务器应用程序;在浏览器中刷新作为类的属性返回 nul【英文标题】:Blazor Server App; Refresh in browser a property that is a class comes back nul 【发布时间】:2021-04-10 19:35:37 【问题描述】:应用程序:Blazor Server .NET 5 使用实体框架核心 D B; Azure SQL 数据库
一切正常,除非我刷新浏览器,GetActivitys() 返回的 Helper 属性为空。 Activity中的Helper属性需要打标签吗?
public class ApplicationDbContext : IdentityDbContext
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
public DbSet<Activity> Activitys get; set;
public DbSet<Helper> Helpers get; set;
public class DataAccessService : IDataAccessService
private readonly ApplicationDbContext _context;
public DataAccessService(ApplicationDbContext context)
_context = context;
public async Task<List<Activity>> GetActivitys()
var list = await _context.Activitys.ToListAsync<Activity>();
return list;
public class Activity
[Key]
[Column("Id")]
[JsonPropertyName("Id")]
public int Id get; set;
[Column("Task")]
[Required]
[JsonPropertyName("Task")]
public string Task get; set;
[Column("Helper")]
[JsonPropertyName("Helper")]
public Helper Helper get; set;
public class Helper
[Key]
[Column("Id")]
[JsonPropertyName("Id")]
public int Id get; set;
[Column("Name")]
[Required]
[JsonPropertyName("Name")
【问题讨论】:
【参考方案1】:如果您想在通过.ToListAsync()
实现查询之后包含导航属性,则必须在实现之前添加一个链式方法.Include(activity => activity.Helper)
。
【讨论】:
您能否详细说明一下,谢谢。你的意思是这样的: _context.Activitys.ToListAsync() 变成 _context.Activitys.Include(activity => activity.Helper).ToListAsync() 是的,就是这样。 事实证明,我有 2 个实体属性。当我为两者都这样做时,它起作用了;谢谢 这个要求有很好的参考吗?我能找到的唯一参考是这篇文章!再次感谢。以上是关于Blazor 服务器应用程序;在浏览器中刷新作为类的属性返回 nul的主要内容,如果未能解决你的问题,请参考以下文章
如何从服务器端 Blazor 应用程序中的 Blazor 组件调用 razor 页面而不导致页面刷新