批处理(Batch) |
Top Previous Next |
前面已经提到 Database.Save()的批处理支持。
除此之外,对于SQL Server数据库,NBearLite还提供了两种特殊的批处理支持:
1、自定义BatchDatabase批处理语法,支持任意的自定义写操作的批处理。
例如:
Database batchDB = new Database("Northwind"); batchDB.BeginBatchConnection(10); batchDB.Insert(Northwind.Categories).AddColumn(Northwind.Categories.CategoryName, "test1111").Execute(); batchDB.Delete(Northwind.Categories).Where(Northwind.Categories.CategoryName == "test1111").Execute(); //More Write Operations //... batchDB.EndBatchConnection();
注意,BeginBatchConnection()方法的参数指定了每个batch的大小。这里指定batchSize为10表示,每10个SQL语句连接一次数据库进行查询。
上例中,如果只包含两条语句,运行时的SQL像下面这样:
INSERT INTO [Categories] ([CategoryName]) VALUES (@p8hs4xd4y5pul14);DELETE FROM [Categories] WHERE ([CategoryName] = @p6u03ops2y41ers); Parameters: @p8hs4xd4y5pul14[String] = N'test1111' @p6u03ops2y41ers[String] = N'test1111'
2、ExecuteBatchInsert
请参见其他非强类型查询方法。 |