| Id【主键,自增】(编号) | int |
| Author(作者) | nvarchar(50) |
| Content(内容) | nvarchar(50) |
| Cateid【外键Catelog表的id字段】(类型id) | int |
| id【主键,自增】(ID) | int |
| Name(类型名称) | nvarchar(50) |
| Comment(类型说明) | nvarchar(50) |
在这里的实体模型实例是ChangeDBEntities
添加一个Web窗体:WebForm1.aspx首先设计好页面样式
//使用table来设计格式
| 标题 | 内容 | 作者 | 类型 | 操作 |
| <%# Eval("Title")%> | <%# Eval("Content")%> | <%# Eval("Author")%> | <%# Eval("CatelogName")%> | //使用LinkButton来实现删除功能'>删除 |
标题:
内容:
作者:
//下拉框内容由数据库查询添加到DropDownList里类型:
没有想要的类型?自己添加一个吧
类型名:
描述:
设计完前端样式后就要开始写后台代码了 查询数据绑定到前端页面首先先写加载事件,第一件事就是要将数据库的数据查出来放在页面上
为了方便后续好查数据,所以定义一个查询数据的方法
public IEnumerable
然后在加载事件中调用这个方法
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = res();
Repeater1.DataBind();
}
}
添加方法
在这里首先实现前面说的从数据库查询将类型绑定到DropDownList1里
在加载事件中
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Repeater1.DataSource = res();
Repeater1.DataBind();
ChangeDBEntities db = new ChangeDBEntities();
//查询类型
var type = db.Catelog.Select(u => u).ToList();
DropDownList1.DataSource = type;
DropDownList1.DataTextField = "Name";
DropDownList1.DataValueField = "Id";
DropDownList1.DataBind();
//将第一个选项添加为“无”
ListItem item = new ListItem();
item.Text = "无";
item.Value = "0";
DropDownList1.Items.Insert(0, item);
}
}
下拉框的数据添加完成后就要开始写添加语句了
进入button按钮的点击事件
protected void Button1_Click(object sender, EventArgs e)
{
ChangeDBEntities db = new ChangeDBEntities();
//实例化数据模型里的类
Article a = new Article();
//判断选择的类型是不是“无”,如果是“无”就添加一个新的类型,并将数据储存进去
if (DropDownList1.SelectedValue == "0")
{
//给a添加值
a.Title = TextBox1.Text;
a.Content = TextBox2.Text;
a.Author = TextBox3.Text;
//同时添加主外键两个表数据,先写主键表Catelog里的数据,然后Article外键引用新生成的那个id
a.Catelog = new Catelog() { Name = TextBox4.Text, Comment = TextBox5.Text };
}
//否则就直接添加数据
else
{
//给a添加值
a.Title = TextBox1.Text;
a.Content = TextBox2.Text;
a.Author = TextBox3.Text;
a.Cateid = int.Parse(DropDownList1.SelectedValue);
}
//调用添加的方法,将实例化出来的类:a作为参数给Add方法
db.Article.Add(a);
//判断添加是否成功
if (db.SaveChanges() > 0)
{
Response.Write("");
}
}
接下来是删除
因为删除的LinkButton是在Repeater里的,所以我们要找到Repeater里的Repeater1_ItemCommand事件
首先判断点击的是哪个按钮使用e.CommandName获得前端LinkButton的属性CommandName的值
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
//实例化数据模型对象
ChangeDBEntities db = new ChangeDBEntities();
//判断点进来的是哪个按钮
if (e.CommandName == "delete")
{
//获取前端LinkButton1里的属性CommandArgument的值id
int id = int.Parse(e.CommandArgument.ToString());
//根据这个ID查询到一个对象,将这个对象作为参数传给Remove方法
db.Article.Remove(db.Article.Where(u => u.Id == id).Single());
//判断是否删除成功
if (db.SaveChanges() > 0)
{
Response.Write("");
}
}
}
以上就是EF增删查的一些方法



