zoukankan      html  css  js  c++  java
  • ASP.Net EF框架

    模型

    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Linq;
    using System.Web;
    
    namespace EFA.api.Models
    {
        [Table("Course")]
        public class Course
        {
            [Key]
            public int Id { get; set; }
            public string CName { get; set; }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Linq;
    using System.Web;
    
    namespace EFA.api.Models
    {
        [Table("Student")]
        public class Student
        {
            [Key]
            public int Id { get; set; }
            public string Name { get; set; }
            public int Age { get; set; }
            public int Score { get; set; }
            [ForeignKey("CourStu")]
            public int CId { get; set; }
            public Course CourStu { get; set; }
    
    
        }
    }
    View Code
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    namespace EFA.api.Models
    {
        public class PageModel
        {
            public List<Student> list { get; set; }
            public int totalCount { get; set; }
            public int totalPage { get; set; }
            public int currentpage { get; set; }
    
        }
    }
    View Code

    倒层

    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.Linq;
    using System.Web;
    
    namespace EFA.api.DAL
    {
        public class StuDal<T> where T:class ,new()
        {
            MyContext db = new MyContext();
            /// <summary>
            /// 显示
            /// </summary>
            /// <returns></returns>
            public DbSet<T> Show()
            {
                return db.Set<T>();
            }
            /// <summary>
            /// 添加
            /// </summary>
            /// <param name="t"></param>
            /// <returns></returns>
            public int Add(T t)
            {
                db.Set<T>().Add(t);
                return db.SaveChanges();
            }
            /// <summary>
            /// 删除
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            public int Del(int id)
            {
                var obj = db.Set<T>().Find(id);
                db.Set<T>().Remove(obj);
                return db.SaveChanges();
            }
            /// <summary>
            /// 修改
            /// </summary>
            /// <param name="t"></param>
            /// <returns></returns>
            public int Modify(T t)
            {
                db.Set<T>().Attach(t);
                db.Entry<T>(t).State = EntityState.Modified;
                return db.SaveChanges();
            }
        }
    }
    View Code
    namespace EFA.api.DAL
    {
        using EFA.api.Models;
        using System;
        using System.Data.Entity;
        using System.Linq;
    
        public class MyContext : DbContext
        {
            //您的上下文已配置为从您的应用程序的配置文件(App.config 或 Web.config)
            //使用“MyContext”连接字符串。默认情况下,此连接字符串针对您的 LocalDb 实例上的
            //“EFA.api.DAL.MyContext”数据库。
            // 
            //如果您想要针对其他数据库和/或数据库提供程序,请在应用程序配置文件中修改“MyContext”
            //连接字符串。
            public MyContext()
                : base("name=MyContext")
            {
            }
    
            //为您要在模型中包含的每种实体类型都添加 DbSet。有关配置和使用 Code First  模型
            //的详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkId=390109
    
             public  DbSet<Student> Students { get; set; }
            public DbSet<Course> Courses { get; set; }

    public page GetUserInfos() { SqlParameter[] p = new SqlParameter[] { new SqlParameter("Pagesize",2), new SqlParameter("pageindex",1), new SqlParameter("where","查询的条件"), new SqlParameter("result",SqlDbType.NVarChar) }; p[3].Direction = System.Data.ParameterDirection.Output; page pa = new page(); pa.UserInfos = db.GetT<UserInfo>("ming", p); return pa; } } public class page { public string result { get; set; } public List<UserInfo> UserInfos { get; set; } }
    //public class MyEntity //{ // public int Id { get; set; } // public string Name { get; set; } //} }

    控制器

    using EFA.api.DAL;
    using EFA.api.Models;
    using Newtonsoft.Json;
    using OAWorkFlowUI.xls;
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Linq;
    using System.Net;
    using System.Net.Http;
    using System.Web.Http;
    
    namespace EFA.api.Controllers
    {
        public class DefaultController : ApiController
        {
            public StuDal<Student> stuDal = new StuDal<Student>();
            public StuDal<Course> couDal = new StuDal<Course>();
            [HttpGet]
            [Route("api/QueryS")]
            public PageModel GetStu(int pagesize,int currentpage,string name="")
            {
                if(currentpage<1)
                {
                    currentpage = 1;
                }
                var list = stuDal.Show().Include("CourStu").ToList();
                if(!string.IsNullOrEmpty(name))
                {
                    list = list.Where(x => x.Name.Contains(name)).ToList();
                }
                var count = list.Count();
                int page;
                if(count%pagesize==0)
                {
                    page = count / pagesize;
                }
                else
                {
                    page = count / pagesize + 1;
                }
                if(currentpage>page)
                {
                    currentpage = page;
                }
                list = list.Skip((currentpage - 1) * pagesize).Take(pagesize).ToList();
                var m = new PageModel();
                m.list = list;
                m.currentpage = currentpage;
                m.totalCount = count;
                m.totalPage = page;
                return m;
            }
              /// <summary>
            ///批量 删除学生考试信息
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            [HttpGet]
            [Route("api/DelS")]
            public int del(string id)
            {
                string[] a = id.Split(',');
                int b = 0;
                for (int i = 0; i < a.Length; i++)
                {
                    try
                    {
                        b += entdal.del(int.Parse(a[i]));
                    }
                    catch (Exception)
                    {
    
                        throw;
                    }
                }
                return b;
            }
    
            /// <summary>
            /// 删除学生考试信息
            /// </summary>
            /// <param name="id"></param>
            /// <returns></returns>
            [HttpGet]
            [Route("api/DelS")]
            public int Del(int id)
            {
                return stuDal.Del(id);
            }
            /// <summary>
            /// 添加学生考试信息
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            [HttpPost]
            [Route("api/AddS")]
            public int AddStu(Student model)
            {
                return stuDal.Add(model);
            }
    
            /// <summary>
            /// 导出
            /// </summary>
            [HttpGet]
            [Route("api/Gete")]
            public void GetExcel()
            {
    
                    List<Student> list = stuDal.Show().ToList();
                    string json = JsonConvert.SerializeObject(list);
                    DataTable dt = JsonConvert.DeserializeObject<DataTable>(json);
                    ExcelHelper.ExportByWeb(dt, "学生Excel", "StuExcle.xls");
            }
            /// <summary>
            /// 绑定下拉
            /// </summary>
            /// <returns></returns>
            [HttpGet]
            [Route("api/GetC")]
            public List<Course> GetCoure()
            {
                var list = couDal.Show().ToList();
                return list;
            }
            /// <summary>
            /// 修改学生考试信息
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            [HttpPost]
            [Route("api/Modify")]
            public int ModifyU(Student model)
            {
                return stuDal.Modify(model);
            }
            /// <summary>
            /// 查找符合的学生信息
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            [HttpGet]
            [Route("api/GetId")]
            public List<Student> SelectId(int id)
            {
                List<Student> list = stuDal.Show().Where(x => x.Id.Equals(id)).ToList();
                return list;
            }
            /// <summary>
            /// 修改单一字段(状态)
            /// </summary>
            /// <param name="model"></param>
            /// <returns></returns>
            [HttpGet]
            [Route("api/ModifySt")]
            public int ModifyState(int id)
            {
                var obj = stuDal.Show().Find(id);
                obj.Age = 1;
                return stuDal.Modify(obj);
            }
        }
    }
    View Code

    page /peɪdʒ/基本翻译n. 页;记录;大事件,时期;历史篇章;男侍者;(美国议员的)青年助理vt. 给…标页码vi. 翻书页,浏览n. (Page)人名;(西)帕赫;(英)佩奇;(意)帕杰;(法)帕日网络释义Page:蓓姬 ; 裴吉 ; 希腊相关查询PagePAGE

  • 相关阅读:
    MySQL Binlog信息查看
    MySQL Binlog和Relaylog生成和清理
    MySQL Binlogbinlog_format参数
    Maven的核心概念及安装
    Maven工程约定目录结构
    解决 internal/modules/cjs/loader.js:983 throw err; ^ Error: Cannot find module ‘express‘ 报错问题
    Linux之开机、重启和用户登录注销等操作
    Linux之系统文件概述
    Linux之基本指令
    express的基本使用
  • 原文地址:https://www.cnblogs.com/XJNB/p/13276153.html
Copyright © 2011-2022 走看看