private static void BulkInsert(SQLiteDbContext db) { Stopwatch sw = new Stopwatch(); var user = db.Query <User>(x => x.Id > 0).Take(1).FirstOrDefault(); var dataTable = db.SqlQueryDataTable("select Name,Gender,Age,OpTime from Users LIMIT 1"); DataTable dtNew = dataTable.Copy(); dtNew.Clear(); //清楚数据 for (var i = 0; i < 100000; i++) { dtNew.Rows.Add(dataTable.Rows[0].ItemArray); //添加数据行 } sw.Reset(); sw.Start(); db.BulkInsert("Users", dtNew); sw.Stop(); Console.WriteLine("BulkInsert DataTable 耗时:" + sw.ElapsedMilliseconds); //var user = db.Query<User>(x => x.Id > 0).Take(1).FirstOrDefault(); var newList = new List <User>(); for (var i = 0; i < 100000; i++) { newList.Add(user); } sw.Reset(); sw.Start(); db.BulkInsert <User>("Users", newList); sw.Stop(); Console.WriteLine("BulkInsert List 耗时:" + sw.ElapsedMilliseconds); }
public void Execute_IntegrationTest_SQLite() { string filePath = Path.Combine(AppContext.BaseDirectory, Path.GetRandomFileName() + ".dbtest"); using (SQLiteDbContext dbContext = new SQLiteDbContext(filePath)) { dbContext.Initialise(); dbContext.BeginTransaction(); IProjectValidator projectValidator = new ProjectValidator(); IProjectRequestAggregateValidator validator = new ProjectRequestAggregateValidator(); ISetLogFileUnprocessedCommand setLogFileUnprocessedCommand = Substitute.For <ISetLogFileUnprocessedCommand>(); ICreateProjectRequestAggregateCommand createProjectRequestAggregateCommand = new CreateProjectRequestAggregateCommand(dbContext, validator, new LogFileRepository(dbContext), setLogFileUnprocessedCommand); // create the project first so we have one ProjectModel project = DataHelper.CreateProjectModel(); DataHelper.InsertProjectModel(dbContext, project); // create the request aggregate ProjectRequestAggregateModel projectRequestAggregate = DataHelper.CreateProjectRequestAggregateModel(); projectRequestAggregate.ProjectId = project.Id; createProjectRequestAggregateCommand.Execute(projectRequestAggregate); Assert.Greater(projectRequestAggregate.Id, 0); int rowCount = dbContext.ExecuteScalar <int>("SELECT COUNT(*) FROM ProjectRequestAggregates"); Assert.Greater(rowCount, 0); ProjectRequestAggregateModel savedModel = dbContext.Query <ProjectRequestAggregateModel>("SELECT * FROM ProjectRequestAggregates WHERE Id = @Id", new { Id = projectRequestAggregate.Id }).Single(); Assert.AreEqual(projectRequestAggregate.RegularExpression, savedModel.RegularExpression); Assert.AreEqual(projectRequestAggregate.AggregateTarget, savedModel.AggregateTarget); } }
private static void Query(SQLiteDbContext db) { //var u = new User { // Name = "测试" //}; //db.Add<User>(u); var aa1 = db.Query <User>(x => x.Id > 12).Select(x => new { title = x.Name }).ToList(); var aa = db.Query <User>(x => x.Id > 0).ToList(); var d = db.SqlQueryDynamic(" select * from users ", null); var dta = db.SqlQueryDataTable(" select * from users ", null); db.Update <User>(x => x.Id > 0, x => new User { Name = "212" }); db.Query <User>(x => x.Id == 12).FirstOrDefault(); }