【发布时间】:2013-10-01 12:54:40
【问题描述】:
我有以下问题 - 将基础设施耦合到域对象的有限 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”)组成
假设 this 参数是父实体,如何在这个扩展方法中实现 db.Query.Where Linq 方法的谓词?
【问题讨论】:
标签: c# .net linq c#-4.0 predicate