webapi+EF(增删改查)
第一步,Model建立Ado.net实体模型。
第二部,Controller建立增删查改方法
public static HttpResponseMessage toJson(Object obj)
{
String str;
if (obj is String || obj is Char)
{
str = obj.ToString();
}
else
{
JavaScriptSerializer serializer = new JavaScriptSerializer();
str = serializer.Serialize(obj);
}
HttpResponseMessage result = new HttpResponseMessage { Content = new StringContent(str, Encoding.GetEncoding("UTF-8"), "application/json") };
return result;
}
public HttpResponseMessage get()
{
var jg = db.user.ToList();
return toJson(jg);
}
protected override void Dispose(bool disposing)
{
db.Dispose();
base.Dispose(disposing);
}
连接数据库:vs界面左侧服务器资源管理器中连接数据库,在web.config中修改或添加
<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-webapitest1-20170420100509;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-webapitest1-20170420100509.mdf" />
<add name="testDBEntities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=testDB;persist security info=True;user id=sa;password=123456; MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
</connectionStrings>
第三部:view视图页面 Index.cshtml
@{
Layout = null;
}
<script src="~/Scripts/jquery-1.7.1.min.js"></script>
<table id="customerTable" border="0" cellpadding="3">
<tr>
<th>UserID</th>
<th>login</th>
<th>pwd</th>
<th>Actions</th>
</tr>
<tr>
<td>
<input type="text" id="txtCustomerId" size="5" />
</td>
<td>
<input type="text" id="txtCompanyName" />
</td>
<td>
<input type="text" id="txtContactName" />
</td>
<td>
<input type="button" name="btnInsert" value="Insert" />
</td>
</tr>
</table>
<script type="text/javascript">
$(function () {
$.getJSON("api/user", LoadCustomers);
});
function LoadCustomers(data) {
$("#customerTable").find("tr:gt(1)").remove();
$.each(data, function (key, val) {
var tableRow = '<tr>' + '<td>' + val.userId + '</td>' +
'<td><input type="text" value="' + val.login + '" /></td>' +
'<td><input type="text" value="' + val.pwd + '" /></td>' +
'<td><input type="button" name="btnUpdate" value="修改" />' +
'<input type="button" name="btnDelete" value="删除" /></td>' +
'</tr>';
$('#customerTable').append(tableRow);
});
$("input[name='btnInsert']").click(OnInsert);
$("input[name='btnUpdate']").click(OnUpdate);
$("input[name='btnDelete']").click(OnDelete);
}
function OnInsert() {
var userId = $("#txtCustomerId").val();
var login = $("#txtCompanyName").val();
var pwd = $("#txtContactName").val();
var data = '{"userId":"' + userId + '","login":"' + login + '","pwd":"' + pwd + '"}}';
$.ajax({
type: 'POST',
url: '/api/user',
data: data,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (result) {
$("#txtCustomerId").val('');
$("#txtCompanyName").val('');
$("#txtContactName").val('');
$("#txtCountry").val('');
$.getJSON("api/user", LoadCustomers);
alert('Customer Added !');
}
}).fail(
function (xhr, textStatus, err) {
alert('添加失败,原因如下: ' + err);
});
}
function OnUpdate() {
var userId = $(this).parent().parent().children().get(0).innerHTML;;
var login = $($(this).parent().parent().children().get(1)).find("input").val();
var pwd = $($(this).parent().parent().children().get(2)).find("input").val();;
var data = '{"userId":"' + userId + '","login":"' + login + '","pwd":"' + pwd + '"}}';
$.ajax({
type: 'PUT',
url: '/api/user/' + userId,
data: data,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (results) {
$.getJSON("api/user", LoadCustomers);
alert('Customer Updated !');
}
}).fail(function (xhr, textStatus, err) {
alert('Failed update! The reason is : ' + err);
});
}
function OnDelete() {
var userId = $(this).parent().parent().children().get(0).innerHTML;
$.ajax({
type: 'DELETE',
url: '/api/user/' + userId,
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (results) {
$.getJSON("api/user", LoadCustomers);
alert('Customer Deleted!');
}
}).fail(function (xhr, textStatus, err) {
alert("Delete error ! The reason is :" + err);
});
}
</script>
转载于:https://www.cnblogs.com/suan1717/p/6747134.html
webapi+EF(增删改查)相关推荐
- 1.WebApi是什么webApi实现增删改查操作
1.WebApi是什么 ASP.NET Web API 是一种框架,用于轻松构建可以由多种客户端(包括浏览器和移动设备)访问的 HTTP 服务.ASP.NET Web API 是一种用于在 .NET ...
- 基于Angular5和WebAPI的增删改查(一)
由于公司后续项目重构,可能会用到Angular5. 所以花点时间学习一波,把学习成果分享给大家. 因为是事后补写帖子,很多描述比较简略.有疑问的地方,还请多多指教! 开始之前,你需要给你的计算机,安装 ...
- MCV EF增删改查
1.先创建一个MVC项目,创建完成后再webconfig.fig的<entityFramework>标签之前增加 <connectionStrings> <add ...
- ef增删改查的四种方式
先自定义一个查询语句 int[] nums = new int[7] { 1, 2, 3, 4, 5, 6, 7 };//var onum = from int n in nums where n % ...
- asp.net mysql 增删该查_asp.net 数据库的增删改查
Asp.net MVC 学习之路-003(增删改查,后端手工,前端生成) 时间:2017-03-09 Asp.net Mvc实现增删改查 1, 创建数据库 可参考我写的EntityFramework实 ...
- 使用EF框架实现MVC的增删改查功能!!!Entity Framework
一.什么是EF? ADO.NETEntity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案.ADO.NET Entity Fram ...
- [.NET源码] EF的增删改查
EF的增删改查 创建上下文对象:WordBoradEntities db = new WordBoradEntities(); 一.添加: //1.1创建实体对象 User uObj = new Us ...
- 【EF学习笔记09】----------使用 EntityState 枚举标记实体状态,实现增删改查
[EF学习笔记09]----------使用 EntityState 枚举标记实体状态,实现增删改查 讲解之前,先来看一下我们的数据库结构:班级表 学生表 如上图,实体状态由EntityState枚举 ...
- 国产化之路-统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作
引言 经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官 ...
最新文章
- openstack对接华为存储
- java json格式的转换和读取
- 操作索引库-mapping属性
- 一个域名解析到另一个域名_注册域名公司|教你如何注册一个.net域名
- JavaScript 获得当前日期+时间
- android 游戏的源程序代码类型,代码准备重写实现网络游戏 [开源]历时5天一款完整的文字策略养成类型游戏完成了...
- 【转载】最好女孩子概率模型
- win8系统电脑中病毒了怎么办,如何解决win8电脑中毒
- VB求最大公约数的两个例子
- org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘medicinesId
- electron图标
- Java计算花费时间的模板设计模式
- 基于Python实现的合同管理系统设计
- python报错TypeError: must be str, not int
- 计算机组成原理常见题(四)
- html程序国庆节祝福,2018有关于国庆节的祝福语
- python 给手机发送邮件消息
- 运维开发面试常见问题汇总(一直在更新)
- 【科技与狠货】云盘变硬盘
- 2020.10.29--AI--3D字体海报设计平面设计、扭曲变换花朵制作、混合工具毛绒爱心制作