澳门至尊网站-首页

您的位置:澳门至尊网站 > 黑客安全 > 批量删除,Dapper批量操作实体

批量删除,Dapper批量操作实体

2019-10-24 05:11

第豆蔻梢头要设置 Dapper.Contrib,间接从nuget安装就可以。

归来目录

dapper官方文书档案:

说它是批量操作,身为将聚集对象贰回提交到服务器,并对数码开展悠久化,如若您的代码是三次一回的交由,那不到底批量操作!在头里的mongodb仓库储存中并从未对批量改善和批量刨除进行落实,而前不久在品种中,依旧促成了这种批量的操作,而且生机勃勃度因而测量检验,上面公开一下源代码

T Get<T>(id);
IEnumerable<T> GetAll<T>();
int Insert<T>(T obj);
int Insert<T>(Enumerable<T> list);
bool Update<T>(T obj);
bool Update<T>(Enumerable<T> list);
bool Delete<T>(T obj);
bool Delete<T>(Enumerable<T> list);
bool DeleteAll<T>();
        public void Insert(IEnumerable<TEntity> item)
        {
            var list = new List<WriteModel<TEntity>>();
            foreach (var iitem in item)
            {
                list.Add(new InsertOneModel<TEntity>(iitem));
            }
            _table.BulkWriteAsync(list).Wait();
        }

        public void Update(IEnumerable<TEntity> item)
        {

            var list = new List<WriteModel<TEntity>>();

            foreach (var iitem in item)
            {
                QueryDocument queryDocument = new QueryDocument("_id", new ObjectId(typeof(TEntity).GetProperty(EntityKey).GetValue(iitem).ToString()));
                list.Add(new UpdateOneModel<TEntity>(queryDocument, Builders<TEntity>.Update.Combine(GeneratorMongoUpdate(iitem))));
            }
            _table.BulkWriteAsync(list).Wait();
        }

        public void Delete(IEnumerable<TEntity> item)
        {
            var list = new List<WriteModel<TEntity>>();

            foreach (var iitem in item)
            {
                QueryDocument queryDocument = new QueryDocument("_id", new ObjectId(typeof(TEntity).GetProperty(EntityKey).GetValue(iitem).ToString()));
                list.Add(new DeleteOneModel<TEntity>(queryDocument));
            }
            _table.BulkWriteAsync(list).Wait();
        }

帮衬插入、更新实体,批量安排、批量翻新实体。

在程序达成之中,大家使用了WriteModel泛型对象,那将积累要插入,更新和删除的指标,对于插入来讲,独有二个参数就是它的实业集合,而目的更新来讲,它不光有实体集结并且还应该有相应的法则QueryDocument,而对此删除操作来讲,只提供QueryDocument就能够!

回来目录

本文由澳门至尊网站发布于黑客安全,转载请注明出处:批量删除,Dapper批量操作实体

关键词: