增删查改
第一步:先创建ASP.NET Web应用程序 并且创建 Model类库 DAL类库 BLL类库
第二步:在Model中添加ASP.NET 实体数据模型
输入数据库的账号与密码 并选择数据库
在选择要操作的表
之后会弹出如下图的界面就可以了
第三步:Model层里的APP.CONFIG里面剪切 如图的代码
在粘贴到EF的Web.config里面 如图
第四步:添加引用 打开EF的引用 EntityFramework 右键在对象浏览器中查看
复制下面的路径 然后去Model DAL BLL EF里都添加引用
添加后 在引用 就可以了 DAL 和BLL 也都引用
并且 DAL引用Model BLL引用Model和DAL EF引用BLL 和 Model
第五步:编写DAL中DAO类中的代码
先去Model中找到以下文件
编写查询
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DAL
{
public class DAO
{
ForumDBEntities db = new ForumDBEntities();
public IEnumerable<Users> Select()
{
var result = (from st in db.Users
select st).ToList();
return result;
}
}
}
编写BLL中Service
using DAL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class Service
{
DAO dao = new DAO();
public IEnumerable<Users> GetStudents()
{
return dao.Select();
}
}
}
再去webform1.aspx中
点击设计
添加Gridview
先生成一下解决方案
点击表格的右上角的小箭头
在选择数据源
选择对象 然后选择BLL里的Service
选择查询的方法
然后运行 如下图
到这一步已经成功了一大半了
接下来先把DAO里的增删改查给完善一下代码
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DAL
{
public class DAO
{
ForumDBEntities db = new ForumDBEntities();
public IEnumerable<Users> Select()
{
var result = (from st in db.Users
select st).ToList();
return result;
}
public Users Select(int id)
{
var user = (from u in db.Users
where u.ID == id
select u).FirstOrDefault();
return user;
}
public int Add(Users user)
{
db.Users.Add(user);
return db.SaveChanges();
}
public int Delete(int id)
{
var user = (from u in db.Users
where u.ID == id
select u).FirstOrDefault();
db.Users.Remove(user);
return db.SaveChanges();
}
public int Update(Users user)
{
db.Entry<Users>(user).State = System.Data.Entity.EntityState.Modified;
return db.SaveChanges();
}
}
}
再去BLL的Service类中调用
using DAL;
using Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class Service
{
DAO dao = new DAO();
public IEnumerable<Users> GetStudents()
{
return dao.Select();
}
public Users Select(int id)
{
return dao.Select(id);
}
public int Add(Users user)
{
return dao.Add(user);
}
public int Delete(int id)
{
return dao.Delete(id);
}
public int Update(Users user)
{
return dao.Update(user);
}
public int Update(int ID, string ULogin, string UPwd, string UName)
{
Users users = new Users();
users.ID = ID;
users.ULogin = ULogin;
users.UPwd = UPwd;
users.UName = UName;
return Update(users);
}
}
}
然后去EF的webform1.aspx中去完成后面的操作
先添加编辑和删除的按钮
添加新列
勾选删除和编辑更新
运行一下如下图
先去DIV里添加超链接
并且加入跳转到添加的页面
在新建一个web窗体用来添加
按钮的点击事件中输入代码
添加已经做好了 然后做删除 和修改
在webform1中 GridView中加入 DataKeyNames=“id” 并且在ObjectDataSource中 加入DeleteMethod=“Delete”
还添加 <asp:Parameter Name=“ID” /> 如下所示
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="EF.WebForm1" %>
<!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:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/WebForm2.aspx">添加</asp:HyperLink>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="id" DataSourceID="ObjectDataSource1">
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" SortExpression="ID" />
<asp:BoundField DataField="ULogin" HeaderText="ULogin" SortExpression="ULogin" />
<asp:BoundField DataField="UPwd" HeaderText="UPwd" SortExpression="UPwd" />
<asp:BoundField DataField="UName" HeaderText="UName" SortExpression="UName" />
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
</Columns>
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="GetStudents" DeleteMethod="Delete" TypeName="BLL.Service">
<DeleteParameters>
<asp:Parameter Name="ID" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="ID" />
<asp:Parameter Name="ULogin" />
<asp:Parameter Name="UPwd" />
<asp:Parameter Name="UName" />
</UpdateParameters>
</asp:ObjectDataSource>
</div>
</form>
</body>
</html>