public void Update <T, TField>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filter, Expression <Func <T, TField> > updateExp, TField value) { var mongoDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mongoDb.GetCollection <T>(nonSqlSchema.CollectionName); collection.UpdateOne(filter, GetUpdateDefinition(updateExp, value)); }
public void Update <T>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filter, IDictionary <string, object> updateParameters) { var mongoDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mongoDb.GetCollection <T>(nonSqlSchema.CollectionName); collection.UpdateOne(filter, GetUpdateDefinition <T>(updateParameters)); }
public IEnumerable <TNewProjection> GetItems <T, TNewProjection>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filterExpression, Expression <Func <T, TNewProjection> > projectionExpression) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.Find(filterExpression).Project(projectionExpression).ToList()); }
public Task InsertRangeAsync <T>(NonSqlSchema nonSqlSchema, IEnumerable <T> objs) { var mongoDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mongoDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.InsertManyAsync(objs)); }
public IQueryable <T> GetMongoQueryable <T>(NonSqlSchema nonSqlSchema) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.AsQueryable().AsQueryable()); }
public Task GetAllAsync <T>(NonSqlSchema nonSqlSchema) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.FindAsync(FilterDefinition <T> .Empty)); }
public async Task <T> GetItemAsync <T>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filterExpression) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); return(await collection.Find(filterExpression).FirstOrDefaultAsync()); }
public Task ReplaceAsync <TDocument>(NonSqlSchema nonSqlSchema, Expression <Func <TDocument, bool> > filter, TDocument newDocument) { var mongoDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mongoDb.GetCollection <TDocument>(nonSqlSchema.CollectionName); return(collection.ReplaceOneAsync(filter, newDocument)); }
public IEnumerable <T> GetAll <T>(NonSqlSchema nonSqlSchema) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.Find(FilterDefinition <T> .Empty).ToList()); }
public Task InsertAsync <T>(NonSqlSchema nonSqlSchema, T obj) { var mongoDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mongoDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.InsertOneAsync(obj)); }
public Task DeleteAsync <T>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filter) { var mongoDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mongoDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.DeleteOneAsync(filter)); }
public T GetItem <T>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filterExpression) { var mongoDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mongoDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.Find(filterExpression).FirstOrDefault()); }
public Task GetItemsAsync <T>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filterExpression) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); return(collection.FindAsync(filterExpression)); }
public Task <bool> ReplaceAsync <TDocument>(NonSqlSchema nonSqlSchema, Expression <Func <TDocument, bool> > filter, TDocument newDocument) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <TDocument>(nonSqlSchema.CollectionName); var status = collection.ReplaceOneAsync(filter, newDocument).Result; return(Task.FromResult(status.IsAcknowledged && status.ModifiedCount > 0)); }
public Task <bool> UpdateAsync <T, TField>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filter, Expression <Func <T, TField> > updateExp, TField value) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); var status = collection.UpdateOneAsync(filter, GetUpdateDefinition(updateExp, value)).Result; return(Task.FromResult(status.IsAcknowledged && status.ModifiedCount > 0)); }
public bool Insert <T>(NonSqlSchema nonSqlSchema, T obj) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); collection.InsertOne(obj); return(true); }
public async Task <bool> InsertRangeAsync <T>(NonSqlSchema nonSqlSchema, IEnumerable <T> objs) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); await collection.InsertManyAsync(objs); return(true); }
public bool InsertRange <T>(NonSqlSchema nonSqlSchema, IEnumerable <T> objs) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); collection.InsertMany(objs); return(true); }
public async Task <bool> InsertAsync <T>(NonSqlSchema nonSqlSchema, T obj) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); await collection.InsertOneAsync(obj); return(true); }
public Task <bool> UpdateAsync <T>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filter, IDictionary <string, object> updateParameters) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); var status = collection.UpdateOneAsync(filter, GetUpdateDefinition <T>(updateParameters)).Result; return(Task.FromResult(status.IsAcknowledged && status.ModifiedCount > 0)); }
public bool Delete <T>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filter) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); var status = collection.DeleteOne(filter); return(status.IsAcknowledged && status.DeletedCount > 0); }
public bool Replace <TDocument>(NonSqlSchema nonSqlSchema, Expression <Func <TDocument, bool> > filter, TDocument newDocument) { var mongoDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mongoDb.GetCollection <TDocument>(nonSqlSchema.CollectionName); var status = collection.ReplaceOne(filter, newDocument); return(status.IsAcknowledged && status.ModifiedCount > 0); }
public Task <bool> DeleteAsync <T>(NonSqlSchema nonSqlSchema, Expression <Func <T, bool> > filter) { var mDb = _mongoClient.GetDatabase(nonSqlSchema.DataBaseName); var collection = mDb.GetCollection <T>(nonSqlSchema.CollectionName); var status = collection.DeleteOneAsync(filter).Result; return(Task.FromResult(status.IsAcknowledged && status.DeletedCount > 0)); }
protected BaseRepository(INonSqlDataSource nonSqlDataSource, string dbName, string collName) { NonSqlSchema = new NonSqlSchema(dbName, collName); NonSqlDataSource = nonSqlDataSource; }