예제 #1
0
        public static string InsertNewCustomer(NorthwindEntities db, Customer customer)
        {
            if (customer == null)
            {
                throw new ArgumentNullException("Customer cannot be null.");
            }

            using (db)
            {
                db.Customers.Add(customer);
                db.Customers.Add(customer);
                db.SaveChanges();

                return customer.CustomerID;
            }
        }
예제 #2
0
        public static void UpdateCustomerCompanyName(NorthwindEntities db, string customerID, string newCompanyName)
        {
            if (string.IsNullOrWhiteSpace(customerID))
            {
                throw new ArgumentException(string.Format("Invalid ID : {0}.", customerID));
            }

            using (db)
            {
                var customer = db.Customers
                                .FirstOrDefault(c => c.CustomerID == customerID);

                if (customer == null)
                {
                    throw new ArgumentException("No such customer with this id.");
                }

                customer.CompanyName = newCompanyName;
                db.SaveChanges();
            }
        }
예제 #3
0
        public static void Delete(NorthwindEntities db, string customerID)
        {
            if (string.IsNullOrWhiteSpace(customerID))
            {
                throw new ArgumentException("Id is null, empty or contains only whitespaces.");
            }

            using (db)
            {
                var customer = db.Customers
                                .FirstOrDefault(c => c.CustomerID == customerID);

                if (customer == null)
                {
                    throw new ArgumentException("No such customer with this id.");
                }

                db.Customers.Remove(customer);
                db.SaveChanges();
            }
        }
예제 #4
0
        //// To deal with this problem next time use Transactions
        public static void Main()
        {
            var db1 = new NorthwindEntities();
            var db2 = new NorthwindEntities();

            var employeeFromDb1 = db1.Employees.FirstOrDefault();
            var employeeFromDb2 = db2.Employees.FirstOrDefault();

            Console.WriteLine("Name from db1: {0}", employeeFromDb1.FirstName + " " + employeeFromDb1.LastName);
            Console.WriteLine("Name from db2: {0}", employeeFromDb2.FirstName + " " + employeeFromDb2.LastName);

            employeeFromDb1.LastName = "context 1";

            // Second name will overwrite the first.
            employeeFromDb2.LastName = "context 2";

            db1.SaveChanges();
            db2.SaveChanges();

            var dbResult = new NorthwindEntities().Employees.FirstOrDefault();
            Console.WriteLine("\nResult:      : {0}", dbResult.FirstName + " " + dbResult.LastName);
        }