MCV EF增删改查
1.先创建一个MVC项目,创建完成后再webconfig.fig的<entityFramework>标签之前增加
<connectionStrings>
<add name="ConnectionDb" connectionString="Data Source=DESKTOP-CACBDRH\SQLEXPRESS;Initial Catalog=RegistereInfo;Integrated Security=True" providerName="System.Data.SqlClient"/>
</connectionStrings>
2.安装Entity Framework
3.新建Users实体类
[Key]
public int ID { get; set; }
public string Name { get; set; }
public string IDCard { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string PathStr { get; set; }
[Column("PassWord")]
public string Pwd { get; set; }
4.在Model文件夹下建DBContext
public class ConnectionDb : DbContext
{
public ConnectionDb() : base("name=ConnectionDb") { }
public DbSet<Users> users { get; set; }
}
5.新建Common类用于存放公共方法,如DMD5加密:
/// <summary>
/// MD5加密
/// </summary>
/// <param name="strText">待加密字符串</param>
/// <returns>加密后字符串</returns>
public static string MD5Encrypt(string strText)
{
MD5 md5 = new MD5CryptoServiceProvider();
byte[] targetData = md5.ComputeHash(Encoding.UTF8.GetBytes(strText));
string byte2String = null;
for (int i = 0; i < targetData.Length; i++)
{
byte2String += targetData[i].ToString("x2");
}
return byte2String.ToUpper();
}
6.新建UserInfoController
/// <summary>
/// 登录(EF查询、修改)
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
[HttpPost]
public string GetUser(Users user)
{
var result = "";
try
{
using (ConnectionDb db = new ConnectionDb())
{
//var userList = (from u in db.users
// where u.Name == user.Name
// select u).ToList();
var userList = db.users.Where(s => s.Name == user.Name).FirstOrDefault();
if (userList == null)
{
result = "用户名密码不匹配";
}
else
{
result = "登录成功";
userList.IDCard = Common.MD5Encrypt(userList.IDCard);
db.SaveChanges();
}
return "{\"code\":\"0\",\"Msg\":\"" + result + "\"}";
}
}
catch (Exception ex)
{
return "{\"code\":\"500\",\"Msg\":\"服务器内部错误\"}";
}
}
/// <summary>
/// 注册(EF新增)
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
[HttpPost]
public string PostUser(Users user)
{
var result = "";
try
{
using (ConnectionDb db = new ConnectionDb())
{
var userList = (from u in db.users
where u.Name == user.Name && u.IDCard == user.IDCard
select u).ToList();
if (userList.Count == 0)
{
Users us = new Users();
us.Name = user.Name;
us.IDCard = user.IDCard;
us.Address = "";
db.users.Add(us);
int i = db.SaveChanges();
if (i > 0)
result = "注册成功";
else
result = "注册失败";
}
else
{
result = "该用户已注册";
}
return "{\"code\":\"0\",\"Msg\":\"" + result + "\"}";
}
}
catch (Exception)
{
return "{\"code\":\"500\",\"Msg\":\"服务器内部错误\"}";
}
}
/// <summary>
/// 删除用户(EF删除)
/// </summary>
/// <param name="user"></param>
/// <returns></returns>
[HttpPost]
public string DelUser(Users user)
{
user.ID = 14;
var result = "";
try
{
using (ConnectionDb db = new ConnectionDb())
{
var deluser = db.users.FirstOrDefault(s => s.ID == user.ID);
if (deluser != null)
{
//删除用户信息
db.users.Remove(deluser);
//执行删除操作
int i = db.SaveChanges();
if (i > 0)
result = "删除成功";
else
result = "删除失败";
}
else
{
result = "不存在该用户";
}
return "{\"code\":\"0\",\"Msg\":\"" + result + "\"}";
}
}
catch (Exception)
{
return "{\"code\":\"500\",\"Msg\":\"服务器内部错误\"}";
}
}
7.最后添加Index视图页,使用Ajax访问后台UserInfoController
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>注册登录</title>
</head>
<body>
<div>
<a id="btnAdd" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-add'">注册</a>
<a id="btn" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">登录</a>
<p>用户名:<input id="name" name="name" type="text" /></p>
<p>密码:<input id="pwd" name="pwd" type="text" /></p>
</div>
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
$(function () {
// 商品入库
$("#btnAdd").click(function () {
debugger;
$.ajax({
url: "GetUser",
type: "post",
data: {
"name": $("#name").val(),
"IDCard": $("#pwd").val(),
},
success: function (da) {
debugger;
alert(da);
}
})
})
// 删除
//function del(index) {
// var id = $('#tab1').datagrid("getSelected").id;
// //alert(id);
// $.messager.confirm('确认', '您确认想要删除记录吗?', function (r) {
// if (r) {
// $.ajax({
// url: "Home/Delete",
// data: "id=" + id,
// success: function (da) {
// if (da == "1") {
// $('#tab1').datagrid("reload");
// }
// }
// })
// }
// });
//}
//修改时弹出编辑对话框
//function Update(Id) {
// alert(Id);
// $("#dd").dialog("open");
// $("#leg").html("编辑商品");
// $("#dd").dialog({
// title: "编辑商品信息",
// iconCls: 'icon-save'
// })
// $("#addsubmit").val("保存");
// $.ajax({
// url: "Home/Update",
// data: "id=" + Id,
// success: function (da) {
// console.info(da);
// $("#Id").val(da.ID);
// $("#name").val(da.Name);
// $("#typeId").combobox("setValue", da.TypeID);
// $("#price").val(da.Price);
// $("#unit").val(da.Unit);
// $("#num").val(da.Num);
// }
// })
//}
})
</script>
</body>
</html>
注:命令行安装EF:Install-Package EntityFramework
数据库迁移:1.enable-migrations
2.add-migration
3.update-database
原创文章,转载请声明
MCV EF增删改查相关推荐
- webapi+EF(增删改查)
第一步,Model建立Ado.net实体模型. 第二部,Controller建立增删查改方法 public static HttpResponseMessage toJson(Object obj) ...
- 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官 ...
- javaweb简单的登录增删改查系统_国产化之路统信UOS /Nginx /Asp.Net Core+ EF Core 3.1/达梦DM8实现简单增删改查操作...
引言 经过前期的准备工作,.net core 3.1的运行环境和WEB服务器已经搭建完毕,这里需要注意一下,达梦DM8数据库对于Entity Framework Core 3.1 的驱动在NuGet官 ...
- EasyUI +MVC +EF实现增删改查
OA项目的框架已经搭建好了,接下来就是在这个框架下完成相应的业务的编码,接下来实现UserInfo页面的增删改查. 1.首先先谈一下遇到的一个框架上的问题:提示EF版本不一致之类的问题,主要是解决方案 ...
最新文章
- 一文探讨 RPC 框架中的服务线程隔离
- linux中xargs用法,Linux中xargs的用法
- 提前为小米11让路?小米10高配版官网已缺货
- String、StringBuffer 、StringBuilder 的区别(转)
- Ubuntu配置网络
- 研究发现,近一半生产容器存在漏洞
- 系统调用之lseek
- 51,AVR,PIC,MSP430,STM32单片机比较
- python pipe_python pipe模块用法
- 51单片机——ADC模数转换、DAC数模转换PWM C语言入门编程
- 计算机专业的在职考研,2019年深造北京航空航天大学在职研究生计算机专业在职考研科目是什么...
- HTTP(9):新增功能协议
- C语言 static 声明静态变量?大佬原来用它干这事!
- 如何制造一个XcodeGhost ?
- python简单小游戏代码-零基础python教程-用Python设计你的第一个小游戏
- vs20008 新特性复习
- K8S云原生环境渗透学习
- BZOJ3521: [Poi2014]Salad Bar
- c语言名题精选百则,Victor's Log
- 2014第六届华为创新杯编程大赛初赛解题报告