TK.MongoDB.GridFS.Repository
2.0.2
See the version list below for details.
dotnet add package TK.MongoDB.GridFS.Repository --version 2.0.2
NuGet\Install-Package TK.MongoDB.GridFS.Repository -Version 2.0.2
<PackageReference Include="TK.MongoDB.GridFS.Repository" Version="2.0.2" />
paket add TK.MongoDB.GridFS.Repository --version 2.0.2
#r "nuget: TK.MongoDB.GridFS.Repository, 2.0.2"
// Install TK.MongoDB.GridFS.Repository as a Cake Addin #addin nuget:?package=TK.MongoDB.GridFS.Repository&version=2.0.2 // Install TK.MongoDB.GridFS.Repository as a Cake Tool #tool nuget:?package=TK.MongoDB.GridFS.Repository&version=2.0.2
TK.MongoDB.GridFS.Repository
Repository pattern implementation of MongoDB GridFS in .NET Framework
Usage
Settings
Default
BucketChunkSizeBytes
is set to 2097152 bytes or 2 MiB, but you can configure this by calling a static method as below:Settings.Configure(2097152);
Default
ConnectionStringSettingName
is set to "MongoDocConnection", but you can configure this by calling a static method as below:Settings.Configure(connectionStringSettingName: "MongoDocConnection");
You can also set both of the settings as below:
Settings.Configure(2097152, "MongoDocConnection");
Models
Create a document model implementing $BaseFile$ to use in repository. The name of this model will be used as bucket name in MongoDB.
public class Image : BaseFile<ObjectId>
{
public bool isDisplay { get; set; }
}
Repository methods
Get (by Filter Definition)
//Search filters var filter = Builders<GridFSFileInfo<ObjectId>>.Filter.And( Builders<GridFSFileInfo<ObjectId>>.Filter.Eq(x => x.Filename, "securityvideo"), Builders<GridFSFileInfo<ObjectId>>.Filter.Gte(x => x.UploadDateTime, new DateTime(2015, 1, 1, 0, 0, 0, DateTimeKind.Utc)), Builders<GridFSFileInfo<ObjectId>>.Filter.Lt(x => x.UploadDateTime, new DateTime(2015, 2, 1, 0, 0, 0, DateTimeKind.Utc))); var sort = Builders<GridFSFileInfo>.Sort.Descending(x => x.UploadDateTime); var options = new GridFSFindOptions { Limit = 1, Sort = sort }; IEnumerable<Image> files = imgRepository.Get(filter, options);
Get (by Id)
Image file = imgRepository.Get(new ObjectId("5e36b5a698d2c14fe8b0ecbe"));
Get (by Filename)
IEnumerable<Image> files = imgRepository.Get("Omega1.png");
Insert
byte[] fileContent = File.ReadAllBytes("../../Files/Omega.png"); Image img = new Image() { Filename = "Omega.png", Content = fileContent, isDisplay = false }; string id = imgRepository.Insert(img);
Delete
imgRepository.Delete(new ObjectId("5e36b5a698d2c14fe8b0ecbe"));
Tests
Refer to TK.MongoDB.GridFS.Test project for all Unit Tests.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net461 is compatible. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
- MongoDB.Driver.GridFS (>= 2.10.1)
- SharpCompress (>= 0.24.0)
- System.Buffers (>= 4.5.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Initial release