怎么使用mvc实现webapi的增删改查呢?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
1.创建项目:visual C# —> ASP.NET MVC 4 web应用程序 模板—>web api; 2.注册路由: 路由表中的每一个条目都包含一个路由模板。这个Web API默认的路由模版是"api/{controller}/{id}"。在这个模版中,“api”是一个文字式路径片段,而{controller}和{id}则是占位符变量。 当Web API框架接收一个HTTP请求时,它会试图根据路由表中的一个路由模板来匹配其URI。如果无路由匹配,客户端会接收到一个404(未找到)错误。 3.linq to sql连接数据库 1.建立数据库建表 2.在models文件夹里面新建linq to sql类文件 3.工具->连接到数据库 4.将要用的表拖入设计区 5.获取数据库Getway。"linq to sql class"文件名+Datacontext实例化这个对象,数据表就会映射到一个集合属性中,personDataDataContext db = new personDataDataContext(); 6.增删改查 增: public Boolean Post([FromBody]UserInfo userInfo) { personDataDataContext db = new personDataDataContext(); var s1 = new test2 { UserName =userInfo.UserName, Id=userInfo.Id, Age=userInfo.Age }; if (db.test2.SingleOrDefault (s => s.Id == userInfo.Id) == null) { db.test2.InsertOnSubmit(s1); db.SubmitChanges(); return true; } else { return false; } } 删: public bool Delete(int id) { personDataDataContext db = new personDataDataContext(); var deleteperson = db.test2.SingleOrDefault (s => s.Id == id); if (deleteperson == null) { return false; } else { db.test2.DeleteOnSubmit(deleteperson); db.SubmitChanges(); return true; } } 改: public Boolean Put(int id, [FromBody]UserInfo userInfo) { personDataDataContext db = new personDataDataContext(); var editperson = db.test2.SingleOrDefault (s => s.Id == userInfo.Id); if (editperson == null) { return false; } else { editperson.Age = userInfo.Age; editperson.UserName = userInfo.UserName; db.SubmitChanges(); return true; } 查: public IEnumerable Get() { personDataDataContext db = new personDataDataContext(); var query = from s in db.test2 orderby s.UserName select s; return query; } // GET api/values/5 public string Get(int id) { return "value"; } 这里我新建了一个userinfo类 public class UserInfo { public string UserName { get; set; } public int Id { get; set; } public int Age { get; set; } } 用来接收前端页面ajax请求中的data数据,s => s.Id == userInfo.Id是lamda表达式创建委托方法意思是在db.test2的person集合中查找某个person的Id与userinfo接收到的id相等的person对象