开发者社区 问答 正文

如何使用mvc实现webapi的增删改查呢?

怎么使用mvc实现webapi的增删改查呢?

展开
收起
叫我饭啊啊 2021-09-29 11:37:19 819 分享 版权
1 条回答
写回答
取消 提交回答
  • 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对象

    2021-09-29 14:29:23
    赞同 展开评论