asp.net MVC + EF , Linq的基本用法

 public ActionResult Index()
        {
            NewsEntities news = new NewsEntities();

            //select * from NewsInfo

            #region 排序
            var query = from s in news.NewsInfo
                        orderby s.ID descending   //ascending
                        select new { id = s.ID, name = s.Name, auter = s.Auter };   //构造属性

            foreach (var item in query)
            {
                int id = item.id;
                string name = item.name;
            }
            #endregion

            #region where条件  + top
            //var query1 = from s in news.NewsInfo
            //            where s.ID >= 1 && s.ID <= 6
            //            select s;

            var query1 = (from s in news.NewsInfo
                          where s.Name.StartsWith("啊")  //EndsWith :  name like ‘%啊‘ ,Contains : name like ‘%啊%‘ , StartsWith : name like ‘啊%‘
                          select s).Take(3);   //take() 类似top

            foreach (var item in query1)
            {
                int id = item.ID;
                string name = item.Name;
            }
            #endregion

            #region 函数
            var query2 = from s in news.NewsInfo
                         group s by new { s.ID, s.Time } into tab
                         select tab;

            //int? sum = query3.Sum(f => f.Key.ID);
            //System.DateTime? maxid = query3.Max(f => f.Key.Time);

            foreach (var item in query2)
            {
                var id = item.Key.ID;
                var time = item.Key.Time;

                //统计一组数据记录数
                int count = item.Count();

                //计算一组的平均ID
                double? avg = item.Average(f => f.ID);

                //计算ID之和
                int? sum = item.Sum(f => f.ID);

                //统计当前最大 最小的ID数
                int? maxid = item.Max(f => f.ID);
                int? minid = item.Min(f => f.ID);
            }
            #endregion

            #region  skip(跳过指定前几行) + take(再获取前几行)

            var query3 = (from s in news.NewsInfo
                          orderby s.ID ascending
                          select s).Skip(2).Take(3);   //take() 类似top

            foreach (var item in query3)
            {
                int id = item.ID;
                string name = item.Name;
            }
            #endregion

            #region linq 分页操作

            //当前页码
            int pageindex = 1;
            //每页数量
            int pagesize = 2;

            var list = (from s in news.NewsInfo
                        orderby s.ID ascending
                        select s).Skip((pageindex - 1) * pagesize).Take(pagesize);

            #endregion

            #region  链表查询(查询数据里的所有男女性别 并输出男女性别数量)

            var list1 = from ss in
                            (
                                from s in news.NewsInfo
                                join g in news.GTable on s.ID equals g.ID
                                select new
                                {
                                    id = s.ID,
                                    name = s.Name,
                                    gsex = g.Sex
                                }
                            )
                        group ss by ss.gsex into tab
                        select tab;
            foreach (var item in list1)
            {
                var Class = item.Key;
                var count = item.Count();
            }

            #endregion

            #region  子表查询(用b表的ID查询a表的name列)

            var zi = from b in news.GTable
                     select new
                     {
                         id = b.ID,
                         name = (
                             from a in news.NewsInfo
                             where b.ID == a.ID
                             select a.Name
                         ).FirstOrDefault()
                     };
            foreach (var item in zi)
            {
                var name = item.id;
                var gname = item.name;
            }
            #endregion

            return View();
        }

原文地址:https://www.cnblogs.com/lbx6935/p/9812642.html

时间: 2024-10-07 12:29:25

asp.net MVC + EF , Linq的基本用法的相关文章

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1)框架搭建 前言:这篇博客我们继续来实现我的权限系列,这个博客一段时间也没有写了,重点是我在想还写不写,最终我决定还是写下去,因为我们是为了学习,当别人提出意见的时候,我们可以参考和采纳,但是我们不一定非要采纳,上几篇博客大家都说用CodeFirst来实现,是啊,现在基本很少有人用我的这种方法来实现了,都是用CodeF

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(1)-框架搭建 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) 前言:这篇博客开始我们便一步一步的来实现这个权限系统的初步设计-框架搭建,首先我要说的是我们需要开发工具Visual Studio 2012或者10也行,其次是我们要有SQL Server数据库,如果是Visual Studio 2010的话,你还要安装MVC4的开发文件,这个是吗?我不记得了,谁可以回答我一下的,我一直用2012,都是集成

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(9)-TT模板的学习 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现   (6):EF上下文实例管理   (7):DBSession的封装   (8):DBSession线程内唯一 前言:前面我们基本已经完成了一个Demo,我们在后面的

ASP.NET MVC+EF框架+EasyUI实现权限管理系列

http://www.cnblogs.com/hanyinglong/archive/2013/03/22/2976478.html ASP.NET MVC+EF框架+EasyUI实现权限管理系列之开篇 前言:博客又有一段时间没有更新了,心里感觉这段时间空空的,好像什么都没有学下,所以就想写博客,所以就有了这个系列,这里当然也要感谢大家了,因这个 项目我已经上传了,得到了很多网友的评价,也有好多人发邮件给我说这个框架容易出现问题,不能访问,这也是支持我写这个系列的动力,我将这个项目写成一个 系列

ASP.NET MVC+EF框架+EasyUI实现权限管理

4.为什么使用MVC而不是用WebForm呢? (1)为什么使用MVC而不是用WebForm呢?这个是我临时想的,因为我就是想说明一下WebForm和MVC的优缺点,来可以使大家能够更好地理解 MVC和WebForm,而不像某些人说MVC会替代WebForm,我个人认为这个可能性很小,因为各有各的好处,看在哪里使用吧,下面我就简单介绍下 WebForm和MVC的优缺点. (2)WebForm介绍 1)优点 1):支持事件模型,取决于微软提供了丰富的服务器端组建,WebForm可以快速的搭建Web

自己开发博客(ASP.NET MVC+EF CodeFrist)-历程小功能

自己开发博客(ASP.NET MVC+EF CodeFrist)-时间轴小功能 想写个类似时间轴的效果 就找了一个插件 前端不济 找了一个简单的插件地址http://sc.chinaz.com/jiaoben/130509308250.htm 这是实体类 public class TimnAxis : BaseEntity<int> { [Required(ErrorMessage = "{0}是必须的")] [Display(Name = "时间")]

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(5)-前台JqueryEasyUI前台实现

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(5)-前台JqueryEasyUI前台实现 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装 前言:今天经理买了一个诺基亚的Windows Phone 8系统,特感兴趣,所以在哪里看了很长时间,这篇文章就写的有点迟, 从这个Demo开始到现在我已经写了4篇博客了,终于可以看到页面的东

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(4)-业务逻辑层的封装 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程 前言:前面几篇博客我们基本已经介绍完了搭建整个项目和数据库访问层以及一些业务逻辑层的实现,当然了,我们的数据库访问层这样还是可以在进行封装的,但是我到这里就行了吧,项目也不大,不需要那么麻烦的,那么我们今天开始介绍我们需要介绍的内容,那就是我

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(6)- EF上下文实例管理

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(6)- EF上下文实例管理 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现 前言:通过前面的五篇博客我们已经对权限系统的后台架构进行了详细的说明,那么我再前面的博客中也说到了我们的后台架构还会再改的,我准备这段时间我们继续完善我们的后台