У меня есть следующая проблема - ограниченная ORM, которая связывает инфраструктуру с объектами домена.Написание предиката для Linq (2Sqlite)
Пожалуйста, обратите внимание, что это магазин приложений для Windows и Reflection 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 в этот метод расширения, если этот параметр является родительским объектом?