首先记下学到的零散知识点
全局变量在某函数被改变后出了函数便会回到初始值,但静态全局变量可以被某函数改变
repeater的datasourse可以是list泛型,但不可以是var
表单提交会重新刷新页面,因此全局变量在pagelaod里赋值,值就不会变,pagelaod里一定要有ispostback
增
using (var db = new BloggingContext()) //新建链接
{
var blog = new Blog { Name = TextBox1.Text }; //用定义一个blog变量 条件是name那一列的内容是textbox.text
db.Blogs.AddObject(blog); //addobject方法将blog变量加入Blog表中
db.SaveChanges(); //保存改变
}
删
using (var db = new BloggingContext())
{
var blog = db.Blogs.Where(p => p.BlogId == id).First(); //在blog表里找到符合条件的那条记录
db.Blogs.DeleteObject(blog); //删之
db.SaveChanges(); //保存改变
}
查
using (var db = new BloggingContext())
{
ObjectQuery<Blog> As = db.Blogs; //这句话是得到整个blog表
IQueryable<Blog> aQuery = from a in As //如果得到整个表这句话没什么用,用来限定条件
where a.BlogId == 1
select a;
Repeater1.DataSource = As; //这里可以写As 也可以写 aQuery
DataBind(); //绑定
}
改
using (var db = new BloggingContext())
{
var blog = db.Blogs.Where(p => p.BlogId == idd).First(); //和删除差不多,找到那一条记录
blog.Name = TextBox2.Text; //需要改哪个字段就可以改
db.SaveChanges();
}
分页
public virtual List<Blog> Fenye(int pageIndex, int pageSize) //第几页和每页的条数大小,用list作为返回值,repeater的datasource可以是list
{
List<Blog> list = new List<Blog>(); //定义一个以blog为节点的list
using (var db = new BloggingContext())
{
list = db.Blogs.OrderByDescending(p => p.BlogId).Skip(pageSize * pageIndex).Take(pageSize).ToList();
//分页, OrderByDescending(p => p.BlogId)按id降序排列,Skip() 获取指定索引的剩余记录,Take()取得指定数量的记录
}
return list; //返回那个list
}
在repeater数据绑定的时候根据page传参带入函数即可