protected void SetCollection <TChild, TChildBuilder>( Expression <Func <TSubject, object> > prop, Action <CollectionBuilder <TChild, TChildBuilder> > opts) where TChild : class where TChildBuilder : Builder <TChild> { var colBuilder = new CollectionBuilder <TChild, TChildBuilder>(this); opts(colBuilder); SetPropertyBuilder(prop, colBuilder); }
protected CollectionBuilder <TChild, TChildBuilder> GetCollection <TChild, TChildBuilder>(Expression <Func <TSubject, object> > prop) where TChild : class where TChildBuilder : Builder <TChild> { CollectionBuilder <TChild, TChildBuilder> col = null; var key = GetPropertyName(prop); if (PropertyBuilders.ContainsKey(key)) { col = PropertyBuilders[key] as CollectionBuilder <TChild, TChildBuilder>; } return(col ?? new CollectionBuilder <TChild, TChildBuilder>(this)); }