当前位置: 首页 > news >正文

仿美团版网站开发制作河南城乡建设网站

仿美团版网站开发制作,河南城乡建设网站,做化妆品注册和注册的网站有哪些,怎么建设一个自己的网站上一篇讲述了LINQ#xff0c;顺便说了一下Where操作#xff0c;这篇开始我们继续说LINQ to SQL语句#xff0c;目的让大家从语句的角度了解LINQ#xff0c;LINQ包括LINQ to Objects、LINQ to DataSets、LINQ to SQL、LINQ to Entities、LINQ to XML#xff0c;但是相对来说…上一篇讲述了LINQ顺便说了一下Where操作这篇开始我们继续说LINQ to SQL语句目的让大家从语句的角度了解LINQLINQ包括LINQ to Objects、LINQ to DataSets、LINQ to SQL、LINQ to Entities、LINQ to XML但是相对来说LINQ to SQL在我们程序中使用最多毕竟所有的数据都要在数据库运行着各种操作。所以先来学习LINQ to SQL其它的都差不多了那么就从Select说起吧这个在编写程序中也最为常用。本篇详细说明一下Select和Count/Sum/Min/Max/Avg。 Select/Distinct操作符 适用场景o(∩_∩)o… 查询呗。 说明和SQL命令中的select作用相似但位置不同查询表达式中的select及所接子句是放在表达式最后并把子句中的变量也就是结果返回回来延迟。 Select/Distinct操作包括9种形式分别为简单用法、 匿名类型形式、条件形式、指定类型形式、筛选形式、整形类型形式、 嵌套类型形式、本地方法调用形式、Distinct形式。 1.简单用法 这个示例返回仅含客户联系人姓名的序列。 var q from c in db.Customersselect c.ContactName; 注意这个语句只是一个声明或者一个描述并没有真正把数据取出来只有当你需要该数据的时候它才会执行这个语句这就是延迟加载(deferred loading)。如果在声明的时候就返回的结果集是对象的集合。你可以使用ToList() 或ToArray()方法把查询结果先进行保存然后再对这个集合进行查询。当然延迟加载(deferred loading)可以像拼接SQL语句那样拼接查询语法再执行它。 2.匿名类型形式 说明匿名类型是C#3.0中新特性。其实质是编译器根据我们自定义自动产生一个匿名的类来帮助我们实现临时变量的储存。匿名类型还依赖于另外一个特性支持根据property来创建对象。比如var d new { Name s };编译器自动产生一个有property叫做Name的匿名类然后按这个类型分配内存并初始化对象。但是var d new {s};是编译不通过的。因为编译器不知道匿名类中的property的名字。例如string c d;var d new { c}; 则是可以通过编译的。编译器会创建一个叫做匿名类带有叫c的property。例如下例new{c,ContactName,c.Phone};ContactName和Phone都是在映射文件中定义与表中字段相对应的property。编译器读取数据并创建对象时会创建一个匿名类这个类有两个属性为ContactName和Phone然后根据数据初始化对象。另外 编译器还可以重命名property的名字. var q from c in db.Customersselect new {c.ContactName, c.Phone}; 上面语句描述使用 SELECT 和匿名类型返回仅含客户联系人姓名和电话号码的序列 var q from e in db.Employeesselect new{Name e.FirstName e.LastName,Phone e.HomePhone}; 上面语句描述使用SELECT和匿名类型返回仅含雇员姓名和电话号码的序列并将FirstName和LastName字段合并为一个字段“Name”此外在所得的序列中将HomePhone字段重命名为Phone。 var q from p in db.Productsselect new{p.ProductID,HalfPrice p.UnitPrice / 2}; 上面语句描述使用SELECT和匿名类型返回所有产品的ID以及HalfPrice(设置为产品单价除以2所得的值)的序列。 3.条件形式 说明生成SQL语句为case when condition then else。 var q from p in db.Productsselect new{p.ProductName,Availability p.UnitsInStock - p.UnitsOnOrder 0 ? Out Of Stock : In Stock}; 上面语句描述使用SELECT和条件语句返回产品名称和产品供货状态的序列。 4.指定类型形式 说明该形式返回你自定义类型的对象集。 var q from e in db.Employeesselect new Name{FirstName e.FirstName,LastName e.LastName}; 上面语句描述使用SELECT和已知类型返回雇员姓名的序列。 5.筛选形式 说明结合where使用起到过滤作用。 var q from c in db.Customerswhere c.City Londonselect c.ContactName; 上面语句描述使用SELECT和WHERE返回仅含伦敦客户联系人姓名的序列。 6.shaped形式(整形类型) 说明其select操作使用了匿名对象而这个匿名对象中其属性也是个匿名对象。 var q from c in db.Customersselect new {c.CustomerID,CompanyInfo new {c.CompanyName, c.City, c.Country},ContactInfo new {c.ContactName, c.ContactTitle}}; 语句描述使用SELECT 和匿名类型返回有关客户的数据的整形子集。查询顾客的ID和公司信息公司名称城市国家以及联系信息联系人和职位。 7.嵌套类型形式 说明返回的对象集中的每个对象DiscountedProducts属性中又包含一个集合。也就是每个对象也是一个集合类。 var q from o in db.Ordersselect new {o.OrderID,DiscountedProducts from od in o.OrderDetailswhere od.Discount 0.0select od,FreeShippingDiscount o.Freight}; 语句描述使用嵌套查询返回所有订单及其OrderID 的序列、打折订单中项目的子序列以及免送货所省下的金额。 8.本地方法调用形式(LocalMethodCall) 这个例子在查询中调用本地方法PhoneNumberConverter将电话号码转换为国际格式。 var q from c in db.Customerswhere c.Country UK || c.Country USAselect new{c.CustomerID,c.CompanyName,Phone c.Phone,InternationalPhone PhoneNumberConverter(c.Country, c.Phone)}; PhoneNumberConverter方法如下 public string PhoneNumberConverter(string Country, string Phone) {Phone Phone.Replace( , ).Replace(), )-);switch (Country){case USA:return 1- Phone;case UK:return 44- Phone;default:return Phone;} } 下面也是使用了这个方法将电话号码转换为国际格式并创建XDocument XDocument doc new XDocument(new XElement(Customers, from c in db.Customerswhere c.Country UK || c.Country USAselect (new XElement(Customer,new XAttribute(CustomerID, c.CustomerID),new XAttribute(CompanyName, c.CompanyName),new XAttribute(InterationalPhone, PhoneNumberConverter(c.Country, c.Phone)))))); 9.Distinct形式 说明筛选字段中不相同的值。用于查询不重复的结果集。生成SQL语句为SELECT DISTINCT [City] FROM [Customers] var q (from c in db.Customersselect c.City ).Distinct(); 语句描述查询顾客覆盖的国家。 Count/Sum/Min/Max/Avg操作符 适用场景统计数据吧比如统计一些数据的个数求和最小值最大值平均数。 Count 说明返回集合中的元素个数返回INT类型不延迟。生成SQL语句为SELECT COUNT(*) FROM 1.简单形式 得到数据库中客户的数量 var q db.Customers.Count(); 2.带条件形式 得到数据库中未断货产品的数量 var q db.Products.Count(p !p.Discontinued); LongCount 说明返回集合中的元素个数返回LONG类型不延迟。对于元素个数较多的集合可视情况可以选用LongCount来统计元素个数它返回long类型比较精确。生成SQL语句为SELECT COUNT_BIG(*) FROM var q db.Customers.LongCount(); Sum 说明返回集合中数值类型元素之和集合应为INT类型集合不延迟。生成SQL语句为SELECT SUM(…) FROM 1.简单形式 得到所有订单的总运费 var q db.Orders.Select(o o.Freight).Sum(); 2.映射形式 得到所有产品的订货总数 var q db.Products.Sum(p p.UnitsOnOrder); Min 说明返回集合中元素的最小值不延迟。生成SQL语句为SELECT MIN(…) FROM 1.简单形式 查找任意产品的最低单价: var q db.Products.Select(p p.UnitPrice).Min(); 2.映射形式 查找任意订单的最低运费 var q db.Orders.Min(o o.Freight); 3.元素 查找每个类别中单价最低的产品 var categories from p in db.Productsgroup p by p.CategoryID into gselect new {CategoryID g.Key,CheapestProducts from p2 in gwhere p2.UnitPrice g.Min(p3 p3.UnitPrice)select p2}; Max 说明返回集合中元素的最大值不延迟。生成SQL语句为SELECT MAX(…) FROM 1.简单形式 查找任意雇员的最近雇用日期 var q db.Employees.Select(e e.HireDate).Max(); 2.映射形式 查找任意产品的最大库存量 var q db.Products.Max(p p.UnitsInStock); 3.元素 查找每个类别中单价最高的产品 var categories from p in db.Productsgroup p by p.CategoryID into gselect new {g.Key,MostExpensiveProducts from p2 in gwhere p2.UnitPrice g.Max(p3 p3.UnitPrice)select p2}; Average 说明返回集合中的数值类型元素的平均值。集合应为数字类型集合其返回值类型为double不延迟。生成SQL语句为SELECT AVG(…) FROM 1.简单形式 得到所有订单的平均运费 var q db.Orders.Select(o o.Freight).Average(); 2.映射形式 得到所有产品的平均单价 var q db.Products.Average(p p.UnitPrice); 3.元素 查找每个类别中单价高于该类别平均单价的产品 var categories from p in db.Productsgroup p by p.CategoryID into gselect new {g.Key, ExpensiveProducts from p2 in gwhere p2.UnitPrice g.Average(p3 p3.UnitPrice)select p2}; Aggregate 说明根据输入的表达式获取聚合值不延迟。即是说用一个种子值与当前元素通过指定的函数来进行对比来遍历集合中的元素符合条件的元素保留下来。如果没有指定种子值的话种子值默认为集合的第一个元素。 下面用一个表格总结一下这篇说的LINQ to SQL语句 Where过滤延迟Select选择延迟Distinct查询不重复的结果集延迟Count返回集合中的元素个数返回INT类型不延迟LongCount返回集合中的元素个数返回LONG类型不延迟Sum返回集合中数值类型元素之和集合应为INT类型集合不延迟Min返回集合中元素的最小值不延迟Max返回集合中元素的最大值不延迟Average返回集合中的数值类型元素的平均值。集合应为数字类型集合其返回值类型为double不延迟Aggregate根据输入的表达式获取聚合值不延迟viahttp://www.cnblogs.com/lyj/archive/2008/01/23/1049686.html
http://www.zqtcl.cn/news/725256/

相关文章:

  • 永康住房和城乡建设部网站做网站 万户
  • 可信赖的常州网站建设做直播券的网站有多少
  • 网络营销案例分析pptseo策略是什么意思
  • 论坛网站建设视频青岛网站设计软件
  • 租用网站服务器价格清远医院网站建设方案
  • 房地产网站建设方案书福田所有车型
  • 网站功能描述高清视频网络服务器免费
  • 天台做网站微博推广效果怎么样
  • 苏州专门网站网站站长统计怎么做
  • 社交网站开发注意事项call_user_func_array() wordpress
  • 泉州企业免费建站个人网站设计与开发
  • 网站建设流程书籍互联网行业黑话
  • 山亭 网站建设wordpress 添加头像
  • 龙南县建设局网站新手如何做网络推广
  • 网站开发建设赚钱吗巩义旅游网站建设公司
  • 网站建设代码介绍网站顶部导航代码
  • 帮别人做网站需要什么能力sem专员
  • 无锡网站建设 app推广软件
  • 免费入驻的外贸网站网站建设怎么打开
  • 怎么做中英文网站网站建设费做什么
  • 信阳网站建设汉狮怎么样做曖視頻网站
  • 做电影电视剧网站推广移动应用开发是什么意思
  • 网站排名优化策划中山搜索引擎优化
  • 网站建设培训证书平台型网站建设预算表
  • 网站建设后压缩代码网站如何做进一步优化
  • 大型旅游网站源码 织梦襄阳网站建设楚翼网络
  • 快速搭建网站服务器做历史卷子的网站
  • 淘口令微信网站怎么做通化seo招聘
  • 帮人做传销网站违法吗深圳也放开了
  • 发布程序后网站有很多促销策略