//namespace zero.Core; //using FluentValidation.Results; //using Raven.Client.Documents.Indexes; //using Raven.Client.Documents.Linq; //using System; //using System.Collections.Generic; //using System.Threading.Tasks; //using zero.Core.Database; //using zero.Core.Entities; //using zero.Core.Validation; //public abstract partial class EntityCollectionProxy //{ // EntityCollection Collection; // public async Task Load(string id, string changeVector = null) => await Collection.Load(id, changeVector); //} //public interface IEntityCollection where T : ZeroIdEntity //{ // /// // /// Get an entity by Id // /// // Task Load(string id, string changeVector = null); // /// // /// Get entities by ids // /// // Task> Load(params string[] ids); // /// // /// Get entities by query // /// // Task> Load(ListQuery query); // /// // /// Get entities by query (by using the specified index) // /// // Task> Load(ListQuery query) where TIndex : AbstractCommonApiForIndexes, new(); // /// // /// Get all entities from this collection. // /// Warning: Don't use this method for large collections. Stream the results instead. // /// // Task> LoadAll(); // /// // /// Stream the collection // /// // IAsyncEnumerable Stream(); // /// // /// Stream the collection // /// // IAsyncEnumerable Stream(Func, IRavenQueryable> expression); // /// // /// Validates an entity in this collection // /// // Task Validate(T model); //}