public static FluentInclude <T> WithQuery <T, Q>(this FluentInclude <T> fi, DynamicQueryManager dqm, Expression <Func <T, Q> > simpleQuerySelector, Action <AutoDynamicQueryCore <Q> > modifyQuery) where T : Entity { dqm.RegisterQuery <Q>(typeof(T), () => { var autoQuery = DynamicQueryCore.Auto(Database.Query <T>().Select(simpleQuerySelector)); modifyQuery(autoQuery); return(autoQuery); }); return(fi); }
public static FluentInclude <T> WithQuery <T, Q>(this FluentInclude <T> fi, DynamicQueryManager dqm, Func <DynamicQueryCore <Q> > lazyGetQuery) where T : Entity { dqm.RegisterQuery <Q>(typeof(T), () => lazyGetQuery()); return(fi); }
public static FluentInclude <T> WithQuery <T, Q>(this FluentInclude <T> fi, DynamicQueryManager dqm, Expression <Func <T, Q> > simpleQuerySelector) where T : Entity { dqm.RegisterQuery <Q>(typeof(T), () => Database.Query <T>().Select(simpleQuerySelector)); return(fi); }
public static FluentInclude <T> WithQuery <T>(this FluentInclude <T> fi, DynamicQueryManager dqm, Func <Expression <Func <T, object> > > lazyQuerySelector) where T : Entity { dqm.RegisterQuery(typeof(T), new DynamicQueryBucket(typeof(T), () => DynamicQueryCore.FromSelectorUntyped(lazyQuerySelector()), Implementations.By(typeof(T)))); return(fi); }