linq 查询 有两种语法  ,前面我们说了一种,接下来说方法语法(我读着一直很绕口)

查询语法,方法语法

------------------------以下文字都是复制-----------------------------------

LINQ的优势

1、无需复杂学习过程即可上手   
      2、编写更少代码即可创建完整应用。   
      3、更快开发错误更少的应用程序。   
      4、无需求助奇怪的编程技巧就可合并数据源。   
      5、让新开发者开发效率更高。   
      6、任何对象或数据源都可以定制实现Linq适配器,为数据交互带来真正方便。

这种可以看这个, 这些字我都是复制的 给你们链接看看  https://blog.csdn.net/huchunfu/article/details/8245157

1、查询语法:

如:from p in Products select p;

2、方法语法:

如:Where()

OrderBy()

Select()

注意  方法语法好像也有sql语句的语法规则  比如  where 在order 前面

lists.Where(n => n.Contains("a")).OrderBy(n => n.Length).Select(n => n.ToUpper());  可以运行

但是我把他这样就不能了

lists.OrderBy(n => n.Length).Select(n => n.ToUpper()).Where(n => n.Contains("a"));

--------------------------------分割线------------------------------------------------------

下面进入主题

1查询出所有含有a的字符串 不区分大小写

string[] list = {"AAAA","ABBBB","ABCCCC","ABCDDDD" };  //随便打的

var Quert = list

.Where(n => n.Contains("a"))  //检测有没有a

.OrderBy(n => n.Length)     //排序, 根据长度排序

.Select(n => n.ToLower());  //转换大小写

ViewBag.ddd = Quert;  //报错在这里  然后输出

注意: var  可以变成IEnumerable   这是一个接口类型的  也可以简单的写成var

代码

  public ActionResult Index()
{
//方法语法
string[] list = {"AAAA","ABBBB","ABCCCC","ABCDDDD" };
var Quert = list.Where(n => n.Contains("A")).OrderBy(n => n.Length).Select(n => n.ToLower());
ViewBag.ddd = Quert;
return View();
}

你们看看注释  ( 懒得打了 你们了解一下,下面才是正确代码)

@item 这样子才能正确输出信息 如果不加@,不然的话 只是输出item(一个毫无意义的item字符串)

@foreach (var item in ViewBag.ddd)
{
<h2>@item</h2> }

正确代码

这样子 就出来了

注意 LINQ方法语法,一般都是和lambda一起使用的

2  输出多个信息显示(linq查询语法和方法语法)

1 查询出所有年龄大于等于19的信息

创建一个Person 类

public class Person
{
public int Age { get; set; }
public string Name { get; set; }
public string Title { get; set; }
}

public ActionResult Index()
{

List<Person> person = new List<Person>{
new Person(){ Name="cl" , Title="my", Age=18},
new Person(){ Name="cl1" , Title="my", Age=19},
new Person(){ Name="cl2" , Title="my", Age=20}
};
// var Linq = from p in person where p.Age >= 19 select p; //LINQ查询语法
//LINQ方法语法
var Linq = person.Where(n=>n.Age>=19);    //  LINQ方法语法   你们自行比较
ViewBag.mes = Linq;

return View();
}

index视图

@foreach (var item in ViewBag.mes )  //  前面已经说了原因  一行语句只能写一个@
{
<h2><span>年龄:</span> @item.Age,<span>名字:</span>@item.Name</h2>  // 由于是多个参数, 所以 带了参数
}

完毕,  欢迎交流!!!

四:MVC之LINQ方法语法的更多相关文章

  1. 二:MVC之LINQ查询语法

    LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展.它允许编写C#或者Visual Basic代码以操作内存数据的方式,查询数 ...

  2. LINQ之路 4:LINQ方法语法

    书写LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询语法(Query Expression). LINQ方法语法是非常灵活和重要的,我们在这里将描述使用链接查询运算符的方 ...

  3. linq查询语法和方法-簡單用法

    來自:http://www.cnblogs.com/knowledgesea/p/3897665.html 1.简单的linq语法 //1 var ss = from r in db.Am_recPr ...

  4. LINQ之方法语法

    上节讲到使用linq的查询关键字进行查询,这节讲一下linq查询的另一种方式--linq方法. 使用linq方法语法,必须要会用lambda表达式,配合lambda表达式才能体会到linq的优雅便捷. ...

  5. LINQ教程二:LINQ操作语法

    LINQ查询时有两种语法可供选择:查询表达式语法(Query Expression)和方法语法(Fluent Syntax). 一.查询表达式语法 查询表达式语法是一种更接近SQL语法的查询方式. L ...

  6. .NET LINQ查询语法与方法语法

    LINQ 查询语法与方法语法      通过使用 C# 3.0 中引入的声明性查询语法,介绍性 LINQ 文档中的多数查询都被编写为查询表达式. 但是,.NET 公共语言运行时 (CLR) 本身并不具 ...

  7. C#3.0新增功能09 LINQ 基础07 LINQ 中的查询语法和方法语法

    连载目录    [已更新最新开发文章,点击查看详细] 介绍性的语言集成查询 (LINQ) 文档中的大多数查询是使用 LINQ 声明性查询语法编写的.但是在编译代码时,查询语法必须转换为针对 .NET ...

  8. Linq学习(主要参考linq之路)----2LINQ方法语法

    方法语法:Fluent Syntax 方法语法是非常灵活和重要的.我们这里讲描述使用连接查询运算符的方式来创建复杂的子查询,方法语法的本质是通过扩展方法和Lambda表达式来创建查询. eg1: st ...

  9. 探讨mvc下linq多表查询使用viewModel的问题

    最近在开发mvc3的时候发现了一个问题,就是如何在view页面显示多表查询的数据,最简单的办法就是使用viewmodel了,以下本人使用viewmodel来实现多表查询的3中方法, 先贴代码再说: 1 ...

随机推荐

  1. iOS-AVFoundation实现二维码(ios7以上,转载)

    关于二维码扫描有不少优秀第三方库: ZBar SDK 里面有详细的文档,相应介绍也非常多,如:http://rdcworld-iphone.blogspot.in/2013/03/how-to-use ...

  2. iOS-MBProgressHUD框架使用(转)

    MBProgressHUD是一个开源类库,实现了各种样式的提示框, 下载地址:https://github.com/jdg/MBProgressHUD,然后把两个MBProgressHUD.h和MBP ...

  3. web框架初阶

    第一站 文件结构:web--- |--home.py #页面处理函数    |--index.py #主体函数 |--indexPlus.py #主体函数加强版 |--webdaem.py #通过we ...

  4. 单例Bean注册表接口SingletonBeanRegistry

    Github: SingletonBeanRegistry.java SingletonBeanRegistry package org.springframework.beans.factory.c ...

  5. 如何制作红蓝3d电影(详细教程)

    自20世纪初以来,电影制作人一直试图通过制作3D电影来利用我们的双眼.现在,由于大量相对实惠的3D电视,你可以享受电影院以外的额外空间 - 你自己拍摄的视频.对于大预算的电影,电影摄影师使用两个相连的 ...

  6. 静态路由、RIP、OSPF、BGP

      主要内容包含以下四点:(1)静态路由 (2)动态路由 (3)生成树 (4)VLAN 1.  什么是静态路由? 答:静态路由是管理人员手动配置和管理的路由 2.  静态路由由那些优点? 答:配置简单 ...

  7. linux文本处理三剑客(一)---grep

    在linux种有一句话,叫做一切皆文件.文件有个特点,它是个文本.它可以读.可以写,如果是二进制文件,它还能执行.这样的话,我们在使用linux的时候,多数时间都是要和各式各样文件打交道的.那么,熟悉 ...

  8. 小菜鸟之oracle

    oracle 存储过程 函数 创建 删除 参数 传递 函数 查看 包 系统包 分类: Oracle 2011-10-27 17:31 264人阅读 评论(0) 收藏 举报   认识存储过程和函数 存储 ...

  9. 【青橙商城-管理后台开发】3. web模块搭建

    [青橙商城-管理后台开发]3. web模块搭建 1.创建qingcheng_web_manager模块 pom.xml <?xml version="1.0" encodin ...

  10. Python解Leetcode: 226. Invert Binary Tree

    leetcode 226. Invert Binary Tree 倒置二叉树 思路:分别倒置左边和右边的结点,然后把根结点的左右指针分别指向右左倒置后返回的根结点. # Definition for ...