private void Insert(LabEmployee2DB db = null) { var isDispose = false; if (db == null) { db = new LabEmployee2DB(ConnectionName); isDispose = true; } try { //db.Insert()... } finally { if (isDispose) { if (db.Connection.State == ConnectionState.Open) { db.Connection.Close(); } } } }
public void 交易() { using (var db = new LabEmployee2DB(ConnectionName)) { db.BeginTransaction(); var count = 0; try { var employee = new Employee { Id = Guid.NewGuid(), Name = "小章", Age = 18 }; var identity = new Identity { EmployeeId = employee.Id, Account = "yao", Password = "******" }; count += db.Insert(employee); count += db.Insert(identity); db.CommitTransaction(); } catch (Exception e) { db.RollbackTransaction(); } Assert.IsTrue(count == 2); } }
public int Insert(Employee employee, DbConnection dbConnection = null) { var result = 0; var isDispose = false; LabEmployee2DB dbContext = null; try { if (dbConnection == null) { dbContext = new LabEmployee2DB(this.ConnectionName); isDispose = true; } //TODO:寫你的操作 result = dbContext.Insert(new Employee { Id = Guid.NewGuid(), Name = "小章", Age = 18 }); } finally { if (isDispose) { if (dbContext != null) { dbContext.Dispose(); } } } return(result); }
public void 呼叫預存() { using (var db = new LabEmployee2DB(ConnectionName)) { var count = db.InsertOrUpdateEmployee(Guid.NewGuid(), "yao", 19, "Remark"); Assert.IsTrue(count == 1); } }
public void 新增一筆() { using (var db = new LabEmployee2DB(ConnectionName)) { var count = db.Insert(new Employee { Id = Guid.NewGuid(), Name = "小章", Age = 18 }); Assert.IsTrue(count == 1); } }
private static Employee Insert() { var toDb = new Employee { Id = Guid.NewGuid(), Name = "小章", Age = 18 }; using (var db = new LabEmployee2DB(ConnectionName)) { db.Insert(toDb); } return(toDb); }
public void 部分更新() { var toDb = Insert(); using (var db = new LabEmployee2DB(ConnectionName)) { var selector = db.Employees .Where(p => p.Id == toDb.Id) ; var updateable = selector.Set(p => p.Name, "yao"); var count = updateable.Update(); Assert.IsTrue(count == 1); } }
public void 更新一筆() { var toDb = Insert(); using (var db = new LabEmployee2DB(ConnectionName)) { var updateDb = new Employee { Id = toDb.Id, Name = "小章", Age = 19 }; var count = db.Update(updateDb); Assert.IsTrue(count == 1); } }
public void 新增多筆() { using (var db = LabEmployee2DB.CreateSecretDb()) { var employee1 = new Employee { Id = Guid.NewGuid(), Name = "余小章", Age = 20 }; var employee2 = new Employee { Id = Guid.NewGuid(), Name = "小章", Age = 18 }; var employees = new List <Employee> { employee2, employee1 }; var count = db.Insert(employees, "Employee"); Assert.IsTrue(count == 2); } }
public void 新增大量資料() { var employees = new List <Employee>(); for (var i = 0; i < 10000; i++) { employees.Add(new Employee { Id = Guid.NewGuid(), Name = Name.FullName(), Age = RandomNumber.Next(1, 120) }); } using (var db = new LabEmployee2DB(ConnectionName)) { db.BulkCopy(employees); } }
public void 呼叫預存2() { using (var db = new LabEmployee2DB(ConnectionName)) { var toDb = new DataTable(); toDb.Columns.Add("Id", typeof(Guid)); toDb.Columns.Add("Name", typeof(string)); toDb.Columns.Add("Age", typeof(int)); toDb.Columns.Add("Remark", typeof(string)); var row = toDb.NewRow(); row["Id"] = Guid.NewGuid(); row["Name"] = "yao"; row["Age"] = 19; row["Remark"] = "Remark"; toDb.Rows.Add(row); var count = db.InsertOrUpdateEmployee2(toDb); Assert.IsTrue(count == 1); } }
public void InnerJoin查詢() { using (var db = new LabEmployee2DB(ConnectionName)) { var selector = db.Identities .Where(p => p.SequenceId > 0) .Select(p => new EmployeeViewModel { Id = p.Employee.Id, Name = p.Employee.Name, Age = p.Employee.Age, SequenceId = p.Employee.SequenceId, Account = p.Account, Password = p.Password }); var count = selector.Count(); var result = selector.OrderBy(p => p.SequenceId).ToList(); Assert.IsTrue(result.Count > 1); } }
public void 新增一筆() { var dbConnectString = DataConnection.GetConnectionString(ConnectionName); //解密 dbConnectString = this.Validator.Decrypt(dbConnectString); DataConnection.SetConnectionString(ConnectionName, dbConnectString); LabEmployee2DB db = null; try { db = new LabEmployee2DB(ConnectionName); } finally { db.Close(); db.Dispose(); } using (db = new LabEmployee2DB(ConnectionName)) { db.OnClosing += this.Db_OnClosing; db.OnClosed += this.Db_OnClosed; if (db.Connection.State == ConnectionState.Closed) { db.Connection.Open(); } var count = db.Insert(new Employee { Id = Guid.NewGuid(), Name = "小章", Age = 18 }); Assert.IsTrue(count == 1); db.Connection.Close(); } db.DisposeCommand(); }
public void 新增大量資料() { var employees = new List <Employee>(); for (var i = 0; i < 10000; i++) { employees.Add(new Employee { Id = Guid.NewGuid(), Name = Name.FullName(), Age = RandomNumber.Next(1, 120) }); } using (var db = new LabEmployee2DB(ConnectionName)) { var bulkCopyOptions = new BulkCopyOptions { BulkCopyType = BulkCopyType.ProviderSpecific, UseInternalTransaction = true }; db.BulkCopy(bulkCopyOptions, employees); } }
public void 新增一筆() { //using (var db = LabEmployee2DB.CreateSecretDb()) //{ // if (db.Connection.State == ConnectionState.Closed) // { // db.Connection.Open(); // } // var count = db.Insert(new Employee {Id = Guid.NewGuid(), Name = "小章", Age = 18}); // Assert.IsTrue(count == 1); // db.Connection.Close(); //} using (var db = LabEmployee2DB.CreateSecretDb()) { var count = db.Insert(new Employee { Id = Guid.NewGuid(), Name = "小章", Age = 18 }); Assert.IsTrue(count == 1); } }
public EmployeeRepository2(string connectionStringName) { this._db = new LabEmployee2DB(connectionStringName); }