Skip to content

Latest commit

History

36 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

FileStore

Simple .Net file storage

NuGet

Install-Package FileStore
Install-Package FileStore.Persistance.EntityFramework
Install-Package FileStore.Persistance.FileSystem

Features

  • store files
  • load files from store
  • controll files versions

Usages

Versioned file store:

varfileStoreBuilder=FileStoreBuilder.Config(cfg =>{cfg.UseFileSystem("myDirectory\\fileStoreDirectory");});varstore=fileStoreBuilder.BuildVersioned();varid=Guid.NewGuid();store.StoreFile(id,newStoreFile{Data=newbyte[]{1,2,3},Extension="txt"});store.StoreFile(id,newStoreFile{Data=newbyte[]{1,2,3,4,5,6},Extension="txt"});varlatestFileVersion=store.OpenFile(id);varfirstVersion=store.OpenFile(id,0);

Unversioned file store:

varstore=fileStoreBuilder.BuildUnversioned();

With this setup You saves and opens files at single version - there is no store.OpenFile(Guid, int)

Using Entity Framework:

varfileStoreBuilder=FileStoreBuilder.Config(cfg =>{cfg.UseEntityFramework("some.connection.string.name");cfg.InitializeDatabase();});

Registering in some container (Autofac in this example):

varcontainerBuilder=newContainerBuilder();varfileStoreBuilder=FileStoreBuilder.Config(cfg =>{cfg.UseFileSystem("C:\\fileStore");});containerBuilder.Register(c =>fileStoreBuilder.BuildVersioned());varcontainer=containerBuilder.Build();varstore=container.Resolve<IFileStore>();

Contribute

Creating new Persistance engine is very simple - just implement IPersistance and provide configuration extensions.

Maybe You have other idea - do no hesitate - please send me some pull request :)

About

No description, website, or topics provided.

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages