我有以下问题 - 将基础设施耦合到域对象的有限 ORM。
请注意,这是一个 Windows 应用商店应用程序,反射 API 不同于标准 .Net
例如,我必须像这样手动实现导航属性(代码中的关系)(假设我有一个包含一对多子章节集合的书籍聚合):
List<Chapters> Chapters
{get {return db.Query<Chapters>.Where(b => b.BookId == this.Id);}}
我想减少这种耦合是通用扩展方法的手段,它将检索父实体的子实体,例如
IEnumerable<T> GetChildren<TParent,TChild>(this TParent parent)
where TParent, TChild : Entity
我可以假设所有实体都有一个 Id 主键属性,外键由父实体名称和 Id(“BookId”)组成
假设此参数是父实体,如何在此扩展方法中为 db.Query.Where Linq 方法实现谓词?