knockout+MVC+webapi+sqlserver完成增删查改

这段时间一个项目用到了mvc和webapi,然后一直对knockout比较感兴趣,就想着用这个框架做一个小实例。数据库采用的是sqlserver。话不多说,开始进行项目的步骤。

      第一步:数据库的表创建。创建一个Employees员工表,具体字段见下图:

        第二步:创建一个MVC项目,项目模板选择webapi。

第三步:在Model文件夹下新建一个ado.net实体数据模型,选择我们刚刚创建的employees的表,生成实体数据模型。

第四步:在controller文件夹下新建一个控制器,注意是包含读写操作和视图的API控制器,如下图

查看生成的代码如下

  1 using System;
  2 using System.Collections.Generic;  3 using System.Data;  4 using System.Data.Entity;  5 using System.Data.Entity.Infrastructure;  6 using System.Linq;  7 using System.Net;  8 using System.Net.Http;  9 using System.Web;  10 using System.Web.Http;  11 using DemoWebApi.Models;  12  13 namespace DemoWebApi.Controllers  14 {  15 public class EmployeeWebApiController : ApiController  16  {  17 private DemoDBEntities1 db = new DemoDBEntities1();  18  19 // GET api/EmployeeWebApi  20 public IEnumerable<Employees> GetEmployees()  21  {  22 return db.Employees.AsEnumerable();  23  }  24  25 // GET api/EmployeeWebApi/5  26 public Employees GetEmployees(int id)  27  {  28 Employees employees = db.Employees.Find(id);  29 if (employees == null)  30  {  31 throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));  32  }  33  34 return employees;  35  }  36  37 // PUT api/EmployeeWebApi/5  38 public HttpResponseMessage PutEmployees(int id, Employees employees)  39  {  40 if (!ModelState.IsValid)  41  {  42 return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);  43  }  44  45 if (id != employees.EmployeeID)  46  {  47 return Request.CreateResponse(HttpStatusCode.BadRequest);  48  }  49  50 db.Entry(employees).State = EntityState.Modified;  51  52 try  53  {  54  db.SaveChanges();  55  }  56 catch (DbUpdateConcurrencyException ex)  57  {  58 return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);  59  }  60  61 return Request.CreateResponse(HttpStatusCode.OK);  62  }  63  64 // POST api/EmployeeWebApi  65 public HttpResponseMessage PostEmployees(Employees employees)  66  {  67 if (ModelState.IsValid)  68  {  69  db.Employees.Add(employees);  70  db.SaveChanges();  71  72 HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, employees);  73 response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = employees.EmployeeID }));  74 return response;  75  }  76 else  77  {  78 return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);  79  }  80  }  81  82 // DELETE api/EmployeeWebApi/5  83 public HttpResponseMessage DeleteEmployees(int id)  84  {  85 Employees employees = db.Employees.Find(id);  86 if (employees == null)  87  {  88 return Request.CreateResponse(HttpStatusCode.NotFound);  89  }  90  91  db.Employees.Remove(employees);  92  93 try  94  {  95  db.SaveChanges();  96  }  97 catch (DbUpdateConcurrencyException ex)  98  {  99 return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex); 100  } 101 102 

转载于:https://www.cnblogs.com/zxh1919/p/7873875.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值