I'm looking for a way to use reflection in my linq queries to increase code reusability. for example, i want to change this method :
private Orders GetObjectGraph(MyDbContext dbContext, int orderID)
{
return dbContext.Orders.Include(o => o.OrderDetails).AsNoTracking().FirstOrDefault(o => o.OrderID == orderID);
}
To something like this :
private object GetObjectGraph(MyDbContext dbContext, string masterEntityName, string detailsEntityName, string masterFieldName, object masterFieldValue)
{
return dbContext[masterEntityName].Include(o => o[detailsEntityName]).AsNoTracking().FirstOrDefault(o => o.[masterFieldName] == masterFieldValue);
}
Can anybody help me how to accomplish this task ?
Thanks in advance