Linq 入门

1.简单形式:
var q =
  from c in db.Customers
  select c.ContactName;

 

 

2.匿名类型形式:

var q =
    from c in db.Customers
    select new {c.ContactName, c.Phone};

var q =
    from e in db.Employees
    select new {Name = e.FirstName + " " + e.LastName, Phone = e.HomePhone};

var q =
    from p in db.Products
    select new {p.ProductID, HalfPrice = p.UnitPrice / 2};

3.带条件形式:
var q =
    from p in db.Products
    select new {p.ProductName, Availability = p.UnitsInStock - p.UnitsOnOrder < 0 ? "Out Of Stock": "In Stock"};

4.指定类型形式:
var q =
    from e in db.Employees
    select new Name {FirstName = e.FirstName, LastName = e.LastName};

5.过滤类型形式:
var q =
    from c in db.Customers
    where c.City == "London"
    select c.ContactName;

6.shaped类型形式:
var q =
    from c in db.Customers
    select new {
      c.CustomerID,
      CompanyInfo = new {c.CompanyName, c.City, c.Country},
      ContactInfo = new {c.ContactName, c.ContactTitle}
  };


7.嵌套类型形式:
var q =
    from o in db.Orders
    select new {
      o.OrderID,
      DiscountedProducts =
        from od in o.OrderDetails
        where od.Discount > 0.0
        select od,
      FreeShippingDiscount = o.Freight
  };

8.LocalMethodCall形式:
var q = from c in db.Customers
    where c.Country == "UK" || c.Country == "USA"
    select new { c.CustomerID, c.CompanyName, Phone = c.Phone, InternationalPhone =
PhoneNumberConverter(c.Country, c.Phone) };
 

XDocument doc = new XDocument(
    new XElement("Customers", from c in db.Customers
              where c.Country == "UK" || c.Country == "USA"
              select (new XElement("Customer",
                new XAttribute("CustomerID", c.CustomerID),
                new XAttribute("CompanyName", c.CompanyName),
                new XAttribute("InterationalPhone", PhoneNumberConverter(c.Country, c.Phone))
                ))));

9.Distinct形式:
var q = (
    from c in db.Customers
    select c.City )
    .Distinct();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值