public ColumnMapper <T> LazyLoad <TChild>(Expression <Func <T, LazyLoaded <TChild> > > property, Func <IDatabase, T, TChild> query, Func <T, bool> condition) { var lazyLoad = new LazyLoaded <T, TChild>(query, condition); var item = new LazyLoadedProperty { Property = property.GetMemberName(), LazyLoad = lazyLoad }; _lazyLoadList.Add(item); return(this); }
public override void Write(Utf8JsonWriter writer, LazyLoaded <TChild> value, JsonSerializerOptions options) { if (value.IsLoaded) { if (_childConverter != null) { _childConverter.Write(writer, value.Value, options); } else { JsonSerializer.Serialize(writer, value.Value, options); } } else { writer.WriteNullValue(); } }