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

 我来答
机涤0Iv
2017-08-03 · 超过54用户采纳过TA的回答
知道答主
回答量:78
采纳率:100%
帮助的人:62万
展开全部
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<test2>(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<test2>(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<test2>(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<test2> 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对象
百度网友175efd821
2017-07-25
知道答主
回答量:9
采纳率:0%
帮助的人:1.1万
展开全部
angularjs
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式