DbFS.NET

DbFS.NET is a high-level abstraction and implementation, which supports files (with versions and branches) in MS SQL database.

Why DbFS.NET | Download | How it works |License | Contact us

For many enterprise-level purposes we should keep everything in solid ACID storage and keep history for everything, including named BLOBs.

DbFS.NET is based on the BLOBs in MS SQL.

The approach is similar to version control systems, so with our solution we provide the “native” way for programmers to manage unstructured contents.

1
2
3
4
5
6
var dbfs = new DBFS();
using (var commit = dbfs.StartCommit("Text", "admin", "Branch")) {
  commit.AddFile(path, p => new
MemoryStream(Encoding.UTF8.GetBytes(content)));
  commit.Finish();
}
1
2
var dbfs = new DBFS();
var list = dbfs.GetFilesList("Branch", "/folder/to/path/we/need").Select(e => e.Path);

Why DbFS.NET

DbFS.NET is a complete solution you can use in your applications immediately with EntityFramework model, database scripts, unit tests and even a command-line tool supporting bulk uploads and downloads of the content from the storage.

Optionally, we have ASP.NET MVC module for file maintenance visually.

DbFS.NET supports all typical operations that you might need:

  • Branches (create, list, use, delete).
  • Transactions (commit sets).
  • Folders and Files.
  • Full history: every change refers to a specific commit, and every file change (including addition or deletion) is tracked as a history change.
  • Copy/Move file semantic without manual addition/removal.
  • Database transactions automatic support.
  • FILESTREAM support.
  • Big files support (GB).

DbFS.NET Download

We believe in freedom! This product is provided “AS IS” under the terms of the GNU GPL v3. Download:

  1. Setup, both 32 and 64 bit: DbFS.NET-1.0.zip
  2. Source code: DbFS.NET-1.0-sources.zip

In case you need it under another (for example, commercial) license, please contact us using the contact form below. Commercial support is available as well.

How DbFS.NET works

DbFS.NET creates independent informational schema into your database and provides everything to work, including Files, Blobs, Branches, Commits, FileRevisions tables with all necessary indexes and stored procedures.

DbFS .NET

 

The underlying implementation is supported from EntityFramework models; so you just need to use the DbFS.NET service layer to manage all your data. If you need to go deeper, we have repositories for all underlying objects.

The database schema scripts are very simple and contain a database structure and initial contents (one branch named “Start” without files inside).

When you’re starting committing, all further operations are being collected into operations stack (with optimizations: if you add a file and then update it several times, the final data to commit will contain only one file with the real content, all intermediate changes won’t be accepted). The actual data will be updated in the database while the commit is being finished by Finish() call; the EF’ SaveChanges() method will be used automatically.

Feedback

We hope that you will enjoy using our product. Feel free to submit your feedback, comments or ideas to dbfs.net@scand.com.

 

Contact us

Our team is at your service — just drop us a line and get the answer

Your message has been sent. We'll answer you ASAP.