示例#1
0
        public static void InsertCustomer(string customerId, string companyName, string city)
        {
            NorthwindEntities connection = new NorthwindEntities();

            using (connection)
            {
                var newCustomer = new Customer
                {
                    CustomerID = customerId,
                    CompanyName = companyName,
                    ContactName = null,
                    ContactTitle = null,
                    Address = null,
                    City = city,
                    Region = null,
                    PostalCode = null,
                    Country = null,
                    Phone = null,
                    Fax = null
                };

                connection.Customers.Add(newCustomer);
                connection.SaveChanges();
            }
        }
示例#2
0
        private static void Main()
        {
            // 1: 
            var db = new NorthwindEntities();

            using (db)
            {
                var employees = db.Employees.ToList();

                foreach (var employee in employees)
                {
                    Console.WriteLine(employee.City);
                }
            }

            // 2:
            DaoClass.InsertCustomer("123", "Free man", "Nomansland");
            DaoClass.ModifyCustomer("123", "Free man 2", "Nomansland city");
            DaoClass.DeleteCustomer("123");

            // 3:
            PrintOrders(1997, "Canada");

            // 4: 
            PrintOrdersWtihSql(1997, "Canada");

            // 5: 
            FindSales(null, new DateTime(1990, 1, 1), new DateTime(2000, 1, 1));
        }
示例#3
0
        public static void ModifyCustomer(string customerId, string companyName, string city)
        {
            NorthwindEntities connection = new NorthwindEntities();

            using (connection)
            {
                var customerToModify = connection.Customers.Find(customerId);
                customerToModify.CompanyName = companyName;
                customerToModify.City = city;
                connection.SaveChanges();
            }
        }
示例#4
0
        public static void DeleteCustomer(string customerId)
        {
            NorthwindEntities connection = new NorthwindEntities();

            using (connection)
            {
                var customerToRemove = connection.Customers.Find(customerId);

                connection.Customers.Remove(customerToRemove);
                connection.SaveChanges();
            }
        }
示例#5
0
        private static void Main()
        {
            Employee extended = new Employee();

            NorthwindEntities context = new NorthwindEntities();

            extended = context.Employees.Find(2);

            foreach (var item in extended.EntityTerritories)
            {
                Console.WriteLine("Teritory description - {0}", item.TerritoryDescription);
            }
        }
示例#6
0
        private static void PrintOrders(int year, string country)
        {
            var connection = new NorthwindEntities();

            using (connection)
            {
                var orders = connection.Orders.Where(o => o.OrderDate.Value.Year == year && o.ShipCountry == country).GroupBy(o => o.Customer.ContactName);

                foreach (var item in orders)
                {
                    Console.WriteLine(item.Key);
                }
            }
        }
示例#7
0
        private static void DuplicateDatabase()
        {
            IObjectContextAdapter context = new NorthwindEntities();
            string cloneNorthwind = context.ObjectContext.CreateDatabaseScript();

            string createNorthwindCloneDB = "CREATE DATABASE NorthwindTwin ON PRIMARY " +
                                            "(NAME = NorthwindTwin, " +
                                            "FILENAME = 'D:\\NorthwindTwin.mdf', " +
                                            "SIZE = 5MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
                                            "LOG ON (NAME = NorthwindTwinLog, " +
                                            "FILENAME = 'D:\\NorthwindTwin.ldf', " +
                                            "SIZE = 1MB, " +
                                            "MAXSIZE = 5MB, " +
                                            "FILEGROWTH = 10%)";

            SqlConnection dbConForCreatingDB = new SqlConnection(
                "Server=.; " +
                "Database=master; " +
                "Integrated Security=true");

            dbConForCreatingDB.Open();

            using (dbConForCreatingDB)
            {
                var createDb = new SqlCommand(createNorthwindCloneDB, dbConForCreatingDB);
                createDb.ExecuteNonQuery();
            }

            var dbConForCloning = new SqlConnection(
                "Server=.; " +
                "Database=NorthwindTwin; " +
                "Integrated Security=true");

            dbConForCloning.Open();

            using (dbConForCloning)
            {
                var cloneDb = new SqlCommand(cloneNorthwind, dbConForCloning);
                cloneDb.ExecuteNonQuery();
            }
        }
示例#8
0
        private static void Main()
        {
            var firstEntity = new NorthwindEntities();
            var secondEntity = new NorthwindEntities();

            using (firstEntity)
            {
                using (secondEntity)
                {
                    var first = firstEntity.Customers.Find("ALFKI");
                    first.Region = "RE";

                    var second = secondEntity.Customers.Find("ALFKI");
                    second.Region = "ER";

                    firstEntity.SaveChanges();
                    secondEntity.SaveChanges();
                }
            }

            Console.WriteLine("Done");
        }
示例#9
0
        private static void PrintOrdersWtihSql(int year, string country)
        {
            var connection = new NorthwindEntities();
            using (connection)
            {
                string cmdSql =
                "SELECT c.ContactName " +
                "FROM Customers c " +
                "JOIN Orders o " +
                "ON c.CustomerID = o.CustomerID " +
                "WHERE YEAR(o.OrderDate) = {0} " +
                "AND o.ShipCountry = {1} " +
                "group by c.ContactName";

                object[] parameters = { year, country };
                var customers = connection.Database.SqlQuery<string>(cmdSql, parameters);

                foreach (var item in customers)
                {
                    Console.WriteLine(item);
                }
            }
        }
示例#10
0
        private static void FindSales(string region, DateTime startDate, DateTime endDate)
        {
            var connection = new NorthwindEntities();

            using (connection)
            {
                var sales = connection.Orders.Where(s => s.ShipRegion == region && 
                                                    s.OrderDate > startDate && 
                                                    s.OrderDate < endDate
                                                    );

                foreach (var sale in sales)
                {
                    Console.WriteLine(sale.ShipName);
                }
            }
        }