コード例 #1
0
        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();
                    }
                }
            }
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
        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);
        }
コード例 #4
0
 public void 呼叫預存()
 {
     using (var db = new LabEmployee2DB(ConnectionName))
     {
         var count = db.InsertOrUpdateEmployee(Guid.NewGuid(), "yao", 19, "Remark");
         Assert.IsTrue(count == 1);
     }
 }
コード例 #5
0
ファイル: UnitTest1.cs プロジェクト: tshisou/sample.dotblog
 public void 新增一筆()
 {
     using (var db = new LabEmployee2DB(ConnectionName))
     {
         var count = db.Insert(new Employee {
             Id = Guid.NewGuid(), Name = "小章", Age = 18
         });
         Assert.IsTrue(count == 1);
     }
 }
コード例 #6
0
        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);
        }
コード例 #7
0
        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);
            }
        }
コード例 #8
0
        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);
            }
        }
コード例 #9
0
ファイル: UnitTest1.cs プロジェクト: yao780913/sample.dotblog
 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);
     }
 }
コード例 #10
0
        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);
            }
        }
コード例 #11
0
        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);
            }
        }
コード例 #12
0
        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);
            }
        }
コード例 #13
0
        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();
        }
コード例 #14
0
ファイル: UnitTest1.cs プロジェクト: yao780913/sample.dotblog
        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);
            }
        }
コード例 #15
0
ファイル: UnitTest1.cs プロジェクト: yao780913/sample.dotblog
        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);
            }
        }
コード例 #16
0
 public EmployeeRepository2(string connectionStringName)
 {
     this._db = new LabEmployee2DB(connectionStringName);
 }