MVC TO LINQ

        //
        // GET: /Home/
        TestTryEntities Db = new TestTryEntities();

        public ActionResult Index()
        {
            return View();
        }

        /// <summary>
        /// 查询
        /// </summary>
        /// <returns></returns>
        public ActionResult GetStudent()
        {
            int pageIndex = 1;//页码
            int pageSize = 10;//每页条数
            //var data = Db.Student.OrderBy(r => r.ID)
            //    .Skip(pageSize * (pageIndex - 1)).Take(pageSize)
            //    .Select(r => new { r.ID, r.Name, r.Password });

            var data1 = (from r in Db.Student
                         join t in Db.Class on r.ClassID equals t.ID
                         orderby r.ID
                         select new { r.ID, r.Name, r.Password, t.ClassName })
                         .Skip(pageSize * (pageIndex - 1)).Take(pageSize);

            int total = Db.Student.Count();//总条数
            //构造成Json的格式传递

            var result = new { total = total, rows = data1 };
            return Json(result, JsonRequestBehavior.AllowGet);
        }

        //添加
        public ActionResult Add()
        {
            var data = Db.Class.Select(r => new SelectListItem()
            {
                Text = r.ClassName,
                Value = SqlFunctions.StringConvert((double)r.ID)
            }).ToList();

            ViewData["Class"] = data;
            return View();

        }
        [HttpPost]
        public ActionResult Add(Model.Student model)
        {
            Db.Student.Add(model);
            Db.SaveChanges();
            return View("Index");
        }

        /// <summary>
        /// 修改
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public ActionResult Edit(int ID)
        {
            var model = Db.Student.Where(r => r.ID == ID).Select(r => r).FirstOrDefault();
            ViewData["modelStudent"] = model;

            var data = Db.Class.Select(r => new SelectListItem()
            {
                Text = r.ClassName,
                Value = SqlFunctions.StringConvert((double)r.ID),
                Selected = (r.ID == model.ClassID)
            }).ToList();
            ViewData["Class"] = data;
            return View(model);
        }

        [HttpPost]
        public ActionResult Edit(Model.Student model)
        {
            Db.Student.Attach(model);
            Db.Entry<Student>(model).State = System.Data.EntityState.Modified;

            if (Db.SaveChanges() > 0)
            {
                return Content("OK");
            }
            else
            {
                return Content("修改失败");
            }
        }

        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="ID"></param>
        /// <returns></returns>
        public ActionResult Delete(int ID)
        {
            //var model = Db.Student.Where(r => r.ID == ID).Select(r => r).FirstOrDefault();
            //if (model == null)
            //{
            //  return Script("alert(‘验证失败!)");
            //  return View("Index");
            //}
            //Db.Student.Remove(model);
            //Db.SaveChanges();

            var model1 = new Model.Student() { ID = ID };
            if (model1 == null)
            {
                return View("Index");
            }
            Db.Student.Attach(model1);
            Db.Entry<Student>(model1).State = System.Data.EntityState.Deleted;
            Db.SaveChanges();

            return View("Index");
        }

        public ActionResult AddMulti()
        {

            return View();
        }

        [HttpPost]
        public ActionResult AddMulti(Mvctry.Models.ClassStudent model)
        {

            return View();
        }
    }

  

时间: 2024-10-25 03:30:09

MVC TO LINQ的相关文章

MVC +EF+linq 多表联查

关于linq的多表联查效果的实现: 后台多表查询  内连接: SELECT [Extent2].[partID] AS [partID], [Extent1].[userName] AS [userName], [Extent3].[partName] AS [partName]FROM [dbo].[User] AS [Extent1]INNER JOIN [dbo].[User_partB] AS [Extent2] ON [Extent1].[userGUID] = [Extent2].[

MVC NPOI Linq导出Excel通用类

之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = 0, Float = 1, Double = 2, String = 3, DateTime = 4, Date = 5 } public class ExportFieldInfo { /// <summary> /// 字段名,用于反射获取值 /// </summary> publi

asp.net mvc 遍历linq to sql 多表联查

两张表: 班级表和学生表: 最终想获得学生的姓名.密码.性别.年龄.住址.爱好.班级名称.班级所学方向 var temp=from a in _db.student join b in _db.classes on a.c_id equals b.id select new { Id=a.id, Name = a.name, Pwd = a.pwd, Sex = a.sex, Age = a.age, Address = a.address, Hobby = a.hobby, StuName =

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

最新的VS学习视频网站:ASP.NET, MVC, SQL , LINQ, WebService,等 http://csharp-video-tutorials.blogspot.jp/

最近开发项目经常会碰到一些开发问题,基于Windows开发人员,强烈推荐. http://csharp-video-tutorials.blogspot.jp/

走入asp.net mvc不归路:[6]linq常见用法

asp.net mvc结合linq,先不说性能问题,对于增删查改的操作还是相当方便的.以下我们就来介绍一下linq在asp.net mvc的Controller中的常见用法. 1 首先来看看整个数据表,共有3个表,要访问这个数据库,得有一个代理,这个代理就是edmx文件中继承类DbContext的AllTestEntities 2 实体代理,可以直接在Controller中声明,并且数据库中对应的表,可以无缝对接:使用时,声明一个变量db,然后使用时,要访问相应表或视图,可以直接使用db.Dom

ASP.NET MVC局部验证及相关问题

在上一篇“asp.net mvc常用的数据注解和验证以及entity framework数据映射”话题中,有的博友提到 ‘“同一个实体在3-4个地方会发生修改,每个修改需要验证的方式都不一样,后端就不能写固定验证.” 此博友的言论我是很赞同的,在基于asp.net mvc上,我有对应的策略,并且,你只需几行代码,就解决了所有的事情. 还是举上次的Model,如下: [Table("AdminInfo")] public partial class AdminInfo { [Key] [

ASP.NET MVC 表单的几种提交方式

下面是总结一下在ASP.NET MVC中表单的几种提交方式. 1.Ajax提交表单 需要引用 <script type="text/javascript" src="/Scripts/jquery-1.7.2.min.js"></script>    <script src="/Scripts/jquery.validate.min.js" type="text/javascript">&l

asp.net mvc常用的数据注解和验证以及entity framework数据映射

终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了. 闲话少说,步入正题: 下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会陌生, 在此Model上我们用到了asp.net mvc的数据注解和验证,entity framework对数据库的映射 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.T