zoukankan      html  css  js  c++  java
  • Entity Framework linq

     static void Main(string[] args)
            {
                using (var oAWEntities = new AdventureWorksEntities())
                {
                    // 1. Easy example but not very flexible
                    
    //    Select all products without any constraints
                    foreach (var product in oAWEntities.Product)
                    {
                        Console.WriteLine(string.Format("{0} | {1} | {2}",
                            product.ProductID, product.Name, product.ListPrice));
                    }
                    Console.ReadLine();

                    // 2. Same example as above using LINQ
                    foreach (var product in from p in oAWEntities.Product
                                            select p)
                    {
                        Console.WriteLine(string.Format("{0} | {1} | {2}",
                            product.ProductID, product.Name, product.ListPrice));
                    }
                    Console.ReadLine();

                    // 3. Same example as above externalizing the LINQ query
                    
    //    Select 20 products without any constraints
                    var query = from p in oAWEntities.Product
                                select p;

                    foreach (var product in query.Take(20))
                    {
                        Console.WriteLine(string.Format("{0} | {1} | {2}",
                            product.ProductID, product.Name, product.ListPrice));
                    }
                    Console.ReadLine();

                    // 4. Example using Lambda Expressions
                    
    //    Select 20 products that have a review rating above 3
                    var queryLambda = from p in oAWEntities.Product
                                where p.ProductReview.Any(pr => pr.Rating > 3)
                                select p;

                    foreach (var product in queryLambda.Take(20))
                    {
                        Console.WriteLine(string.Format("{0} | {1} | {2}",
                            product.ProductID, product.Name, product.ListPrice));
                    }

                    Console.ReadLine();
                    Console.Clear();

                    // 5. This serves to see what SQL queries are send to the Database
                    var oQuery = (System.Data.Objects.ObjectQuery<Product>)query;
                    Console.WriteLine(oQuery.ToTraceString());
                    Console.ReadLine();

                    using (var oAWEntities2 = new AdventureWorksEntities())
                    {
                        // 6. Select the count of all products that are sold out
                        
    //    This will only work if you re-add the deleted MakeFlag
                        
    //var querySoldOut = from p in oAWEntities2.Product
                        
    //                   where p.MakeFlag == true
                        
    //                   select p;
                        
    //Console.WriteLine(string.Format("SoldOutProductCount: {0}", querySoldOut.Count()));
                        
    //Console.ReadLine();

                        
    // 7. Select the count of all products that are sold out
                        var querySoldOut = from p in oAWEntities2.Product
                                           where p is SoldOutProduct
                                           select p;

                        Console.WriteLine(string.Format("SoldOutProductCount: {0}", querySoldOut.Count()));
                        Console.ReadLine();
                    }

                    // 8. Update the StandardCost value
                    using (var oAWEntities4 = new AdventureWorksEntities())
                    {
                        var queryForUpdateCost = from p in oAWEntities4.Product
                                    where p.ProductID.Equals(3)
                                    select p;

                        var product = queryForUpdateCost.First();

                        Console.WriteLine(string.Format("{0} | {1} | {2}",
                            product.Name, product.ProductNumber, product.StandardCost));
                        Console.ReadLine();

                        product.StandardCost += 100;
                        oAWEntities4.SaveChanges();
                    }

                    // 9. Query the StandardCost value to verify update
                    using (var oAWEntities5 = new AdventureWorksEntities())
                    {
                        var queryForUpdateCost2 = from p in oAWEntities5.Product
                                    where p.ProductID.Equals(3)
                                    select p;

                        var product = queryForUpdateCost2.First();

                        Console.WriteLine(string.Format("{0} | {1} | {2}",
                            product.Name, product.ProductNumber, product.StandardCost));
                        Console.ReadLine();
                    }

                    // 10. Try to set the StandardCost value to a negative value --> get exception
                    using (var oAWEntities6 = new AdventureWorksEntities())
                    {
                        var queryForUpdateCost3 = from p in oAWEntities6.Product
                                    where p.ProductID.Equals(3)
                                  
  • 相关阅读:
    让IT工作者过劳的13个坏习惯zz
    WPF Radio button的解决方案
    程序退出的各种方法,如何关闭多线程。
    文本框输入自动切换输入法问题
    在外部js文件中读取带母版页的子页当中控件的值
    Showwindow/FindWindow/PostMessage 转
    vb读取字节中的某一位
    C# 禁止windows程序重复运行的两种基本方法
    C# DllImport的用法(转)
    sqlserver存储过程中sql语句连接及datetime字段的处理
  • 原文地址:https://www.cnblogs.com/hun_dan/p/2556530.html
Copyright © 2011-2022 走看看