using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EF框架测试
{
class Program
{
static void Main(string[] args)
{
//Add();
//SqlAdd();
//AddBtch();
//Select();
PageSelect();
Console.ReadKey();
}
//添加
static void Add()
{
using (var db = new MYEntities())
{
Student stu1 = new Student()
{
Name="白沙",
Age=20,
};
db.Student.Add(stu1);//把实体对象添加到数据库路上下文
db.SaveChanges();//执行数据库上下文操作
}
}
static void SqlAdd()
{
string sql = "insert into Student (Name,Age) values(@Name,@Age)";
int age = 18;
SqlParameter[] ps = new SqlParameter[]
{
new SqlParameter("@Name","美羊羊"),
new SqlParameter("@Age",age)
};
SqlHelper.ExcuteNonQuery(sql, ps);
}
//删除
static void Del()
{
using(var db = new MYEntities())
{
//可以自己创建一个模型,也可以从数据库获取模型
Student stu1 = new Student()
{
Name = "白沙",
Age = 20,
};
db.Entry(stu1).State = System.Data.Entity.EntityState.Deleted;//删除
db.SaveChanges();//执行数据库上下文操作
}
}
//修改
static void Update()
{
using (var db=new MYEntities())
{
#region 官方推荐方法(只修改了重新赋值的数据)
//第一步先查
Student stu = db.Student.Where(s => s.Id == 0).FirstOrDefault();
//第二步修改
stu.Name = "懒洋洋";
db.Entry(stu).State = System.Data.Entity.EntityState.Modified;//修改
db.SaveChanges();
#endregion
#region 第二种方法(修改了模型中所有数据)
//第一步先查
Student stu2 = db.Student.Where(s => s.Id == 2).FirstOrDefault();
//第二步修改
stu.Name = "懒洋洋";
db.Entry(stu2).State = System.Data.Entity.EntityState.Modified;//修改
db.SaveChanges();
#endregion
}
}
//事务
static void AddBtch()
{
using (var db=new MYEntities())
{
for(int i = 0; i < 5; i++)
{
Student stu = new Student()
{
Name = "喜马拉雅"+i,
Age = 30+i
};
db.Student.Add(stu);
}
db.SaveChanges();//这个方法会自动开启一个事务;
}
}
//查询
static void Select()
{
using (var db=new MYEntities())
{
var stu=db.Student.Find(10);Console.WriteLine(stu.Id + stu.Name);
var stus = db.Student.Where(s => s.Id > 10);
foreach (var item in stus)
{
Console.WriteLine(item.Id + item.Name);
}
}
}
//分页查询
static void PageSelect()
{
int page = 1;
int limit = 5;
using (var db = new MYEntities())
{
var stus = db.Student.Where(s => s.Id > 5).OrderBy(s=>s.Id).Skip((page - 1) * limit).Take(limit);
foreach (var item in stus)
{
Console.WriteLine(item.Id + item.Name);
}
}
}
}
}
EF框架基本使用
于 2024-05-14 19:22:01 首次发布