using Connected.Entities.Storage; using System.Collections.Immutable; using System.Data; namespace Connected.Data.Storage { public interface IStorageConnection : IMiddleware, IAsyncDisposable, IDisposable { StorageConnectionMode Behavior { get; } string ConnectionString { get; } Task Initialize(StorageConnectionArgs args); Task Commit(); Task Rollback(); Task Close(); Task Execute(IStorageCommand command); Task> Query(IStorageCommand command); Task Select(IStorageCommand command); Task OpenReader(IStorageCommand command); } }