利用EntityFramework实现增删改查
1.首先我们先要创建数据库 建了一张tb_user表
2.数据库建好以后,我们就可以创建项目了
后面会跳出一个窗口,我这就先创一个空的窗体项目
然后进入主建面之后,我们先右键添加一个数据模型(右键-添加-新建项(点击data选择ADO.Net 实体数据模型))
选择自己刚刚建立的数据库以及表
3.这些都弄好之后,我们可以建一个类(个人习惯,大家也可以把这些类里面的东西直接写在窗体里面的加载事件里面直接调用)下面是类里面的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace _21_5_20
{
public class UserManager
{
UserEntities1 ss = new UserEntities1();
//添加用户
public int Add(tb_user user)
{
ss.tb_user.Add(user);
return ss.SaveChanges();
}
//查询全表
public IEnumerable<tb_user> Select()
{
var result = from user in ss.tb_user
select user;
return result.ToList();
}
//根据id查询
public tb_user SelectUserID(int id)
{
var user = (from u in ss.tb_user
where u.id == id
select u).FirstOrDefault();
return user;
}
//删除
public int Del(int id)
{
var entity = (from u in ss.tb_user
where u.id == id
select u).FirstOrDefault();
ss.tb_user.Remove(entity);
return ss.SaveChanges();
}
//修改
public int Update(tb_user user)
{
ss.Entry<tb_user>(user).State = System.Data.Entity.EntityState.Modified;
return ss.SaveChanges();
}
}
}
然后建立一个主窗口我这是利用Repeater实现数据显示的代码如下
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="delete.aspx.cs" Inherits="_21_5_20.delete" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table >
<tr>
<th>编号</th>
<th>姓名</th>
<th>性别</th>
<th>电话</th>
<th>注册日期</th>
<th>类型</th>
<th>操作</th>
</tr>
<asp:Repeater ID="Repeater1" runat="server" OnItemCommand="Repeater1_ItemCommand">
<ItemTemplate>
<tr>
<td><%# Eval("id")%></td>
<td><%# Eval("Name")%></td>
<td><%# Eval("Gender")%></td>
<td><%# Eval("Telephone")%></td>
<td><%# Eval("Regdate")%></td>
<td><%# Eval("userType")%></td>
<td>
<asp:LinkButton ID="LinkButton1" CommandName="del" CommandArgument='<%#Eval("id")%>' runat="server">删除</asp:LinkButton>
<asp:LinkButton ID="LinkButton2" CommandName="b" runat="server">编辑</asp:LinkButton>
<asp:LinkButton ID="LinkButton3" CommandName="Add" runat="server">增加</asp:LinkButton>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</div>
</form>
</body>
</html>
主窗口cs里的代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace _21_5_20
{
public partial class delete : System.Web.UI.Page
{
UserManager manager = new UserManager();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string msg = Request.QueryString["msg"];
if (msg!=null)
{
Response.Write("<script>alert('" + msg + "')</script>");
BD();
}
BD();
}
}
//绑定
public void BD()
{
this.Repeater1.DataSource = manager.Select();
this.Repeater1.DataBind();
}
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
string id = e.CommandArgument.ToString();
if(e.CommandName== "del")
{
if (manager.Del(int.Parse(id))>0){
Response.Write("<script>alert('删除成功')</script>");
BD();
}
}else if (e.CommandName == "b")
{
Response.Redirect("Update.aspx");
}else if (e.CommandName == "Add")
{
Response.Redirect("Add.aspx");
}
}
}
}
新增窗口
-
cs里的代码:<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Add.aspx.cs" Inherits="_21_5_20.Add" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title></title> </head> <body> <form id="form1" runat="server"> <div> 姓名:<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <br /> 性别:<asp:RadioButton ID="RadioButton1" GroupName="1" runat="server" Text="男" /><asp:RadioButton ID="RadioButton2" GroupName="1" runat="server" Text="女" /> <br/> 电话:<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> <br /> 注册日期:<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> <br /> 用户类型:<asp:RadioButton ID="RadioButton3" GroupName="2" runat="server" Text="VIP" /><asp:RadioButton ID="RadioButton4" GroupName="2" runat="server" Text="普通" /> <br /> <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="添加" /> <br /> </div> </form> </body> </html>
修改窗口和新增窗口差不多,主页面代码就不展示了就直接展示cs里的using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace _21_5_20 { public partial class Add : System.Web.UI.Page { UserManager manager = new UserManager(); protected void Page_Load(object sender, EventArgs e) { } protected void Button1_Click(object sender, EventArgs e) { tb_user user = new tb_user(); user.Name = this.TextBox1.Text; user.Gender = this.RadioButton1.Checked == true ? this.RadioButton1.Text : this.RadioButton2.Text; user.Telephone = this.TextBox2.Text; user.Regdate = DateTime.Parse(this.TextBox3.Text); user.UserType = this.RadioButton3.Checked == true ? 1 : 0; int count = manager.Add(user); if (count > 0) { Response.Redirect("delete.aspx?msg=新增成功"); } } } }
-
好这就是所有的代码以及流程,本人只是菜鸟,如有大神看到,请不要喷我,谢谢了,using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; namespace _21_5_20 { public partial class Update : System.Web.UI.Page { UserManager Manager = new UserManager(); protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { tb_user user = Manager.SelectUserID(15); this.TextBox1.Text = user.Name; this.TextBox2.Text = user.Telephone; this.TextBox3.Text = user.Regdate.ToString(); if (user.Gender == "男") { this.RadioButton1.Checked = true; } else { this.RadioButton2.Checked = true; } if (user.UserType == 1) { this.RadioButton3.Checked = true; } else { this.RadioButton4.Checked = true; } } } protected void Button1_Click1(object sender, EventArgs e) { tb_user user = Manager.SelectUserID(15); user.Name = this.TextBox1.Text; user.Gender = this.RadioButton1.Checked == true ? this.RadioButton1.Text : this.RadioButton2.Text; user.Telephone = this.TextBox2.Text; user.Regdate = DateTime.Parse(this.TextBox3.Text); user.UserType = this.RadioButton3.Checked == true ? 1 : 0; int count = Manager.Update(user); if (count > 0) { Response.Redirect("delete.aspx?msg=更新成功"); } } } }