c# - 如何使用通用存储库模式获取所有子集合?
问题描述
我正在使用 EF Core 2.1,并且我的域中有这些类。
public class HomeSection2
{
public HomeSection2()
{
HomeSection2Detail = new List<HomeSection2Detail>();
}
public Guid ID { get; set; }
public string Title { get; set; }
public string Header { get; set; }
public List<HomeSection2Detail> HomeSection2Detail { get; set; }
}
public class HomeSection2Detail
{
public Guid ID { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string Link { get; set; }
public int? Sequence { get; set; }
public HomeSection2 HomeSection2 { get; set; }
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.RemovePluralizingTableNameConvention();
//HomeSection2
modelBuilder.Entity<HomeSection2>().HasKey(s => s.ID);
modelBuilder.Entity<HomeSection2>().Property(s => s.ID).ValueGeneratedOnAdd();
modelBuilder.Entity<HomeSection2>().Property(s => s.Title).IsRequired();
modelBuilder.Entity<HomeSection2>().Property(s => s.Header).IsRequired();
//HomeSection2Detail
modelBuilder.Entity<HomeSection2Detail>()
.HasOne(p => p.HomeSection2)
.WithMany(b => b.HomeSection2Detail);
modelBuilder.Entity<HomeSection2Detail>().HasKey(s => s.ID);
modelBuilder.Entity<HomeSection2Detail>().Property(s => s.ID).ValueGeneratedOnAdd();
modelBuilder.Entity<HomeSection2Detail>().Property(s => s.Title).IsRequired();
modelBuilder.Entity<HomeSection2Detail>().Property(s => s.Sequence).IsRequired();
}
我有一个通用的回购
public class Repository<TEntity> : IRepository<TEntity> where TEntity : class
{
protected readonly DbContext Context;
public Repository(DbContext context)
{
Context = context;
}
public IEnumerable<TEntity> GetAll()
{
return Context.Set<TEntity>().ToList();
}
}
当我像这样GetAll
从应用程序调用时var obj = _uow.HomeSection2s.GetAll()
,它不会填充详细信息。
解决方案
推荐阅读
- google-apps-script - 突出显示 Google Sheets 脚本中的特定单词
- git - 格式化 Git %date 的问题
- python - 使用openpyxl,如何覆盖链接到数据透视表的特定excel表中的数据
- c# - 如何在 EF Core 配置中排除所有实体类型的属性?
- javascript - 可以在同一客户端和窗口上的两个应用程序之间建立 WebRTC 连接吗?
- android - Volley, OKhttp 刷新页面直到得到结果 GET METHOD Android
- basic-authentication - HAProxy - 同一域中两个子域的基本身份验证工作错误
- node.js - 使用 EJS 的嵌套类别显示 - Nodejs
- opencv - 为什么 Microsoft Photos 比 OpenCV 更有效地将图像转换为灰度?
- java - opencv (Java) - matchTemplate 未知异常