我想在我使用EntityFramework的IdentityServer项目中的MVC应用程序的仅管理页面中显示客户端及其秘密列表。
我目前在我的控制器中引用了来自依赖注入的ConfigurationDbContext
,并且可以访问客户端详细信息。但是,从上下文返回的每个客户端的ClientSecrets
属性没有加载机密,并设置为null。如何强制上下文加载存储在另一个表中的ClientSecrets?我应该采取不同的方式吗?
答案 0 :(得分:0)
由于实体框架将客户机密保存在单独的表中,因此您必须使用实体框架的扩展方法-包含。
public class ApplicatonsService : IApplicationsService
{
private readonly ConfigurationDbContext is4Context;
public ApplicatonsService(ConfigurationDbContext is4Context)
{
this.is4Context = is4Context;
}
public Task<List<Client>> GetApplicationsAsync()
{
return Task.FromResult(is4Context.Clients
.Include(c => c.ClientSecrets)
.Select(c => c.ToModel()).ToList());
}
...
}