zoukankan      html  css  js  c++  java
  • LINQ to Entities,基于方法查询,查询表达式语法

    初次学习LINQ to Entities,给出两种查询的示例代码。

    基于方法的查询:

    using (AdventureWorksEntities AWEntities = new AdventureWorksEntities())
    {
        ObjectSet<Contact> contacts = AWEntities.Contacts;
        ObjectSet<SalesOrderHeader> orders = AWEntities.SalesOrderHeaders;

        var query =
        contacts.SelectMany(
            contact => orders.Where(order =>
                (contact.ContactID == order.Contact.ContactID)
                    && order.OrderDate >= new DateTime(2002, 10, 1))
                .Select(order => new
                {
                    ContactID = contact.ContactID,
                    LastName = contact.LastName,
                    FirstName = contact.FirstName,
                    OrderID = order.SalesOrderID,
                    OrderDate = order.OrderDate
                }));

        foreach (var order in query)
        {
            Console.WriteLine("Contact ID: {0} Name: {1}, {2} Order ID: {3} Order date: {4:d} ",
                order.ContactID, order.LastName, order.FirstName,
                order.OrderID, order.OrderDate);
        }
    }

    查询表达式:

    using (AdventureWorksEntities AWEntities = new AdventureWorksEntities())
    {
        ObjectSet<Contact> contacts = AWEntities.Contacts;
        ObjectSet<SalesOrderHeader> orders = AWEntities.SalesOrderHeaders;

        var query =
            from contact in contacts
            from order in orders
            let total = order.TotalDue
            where contact.ContactID == order.Contact.ContactID
                && total >= 10000.0M
            select new
            {
                ContactID = contact.ContactID,
                LastName = contact.LastName,
                OrderID = order.SalesOrderID,
                total
            };

        foreach (var order in query)
        {
            Console.WriteLine("Contact ID: {0} Last name: {1} Order ID: {2} Total: {3}",
                order.ContactID, order.LastName, order.OrderID, order.total);
        }
    }

  • 相关阅读:
    英语老师不想让你知道的一些网站分享
    最近三周开发的桌面应用系统
    UML技术沙龙PPT
    Pandas时间处理的一些小方法
    合并函数总结
    开博宣言
    DBGrid中增加一列CHECKBOX
    关于Delphi的Hint
    操作EXCEL
    关于FastReport
  • 原文地址:https://www.cnblogs.com/jazzdan/p/2006354.html
Copyright © 2011-2022 走看看