Entity FrameWork 增删查改

时间:2023-03-09 13:42:51
Entity FrameWork  增删查改
Add
 #region 1.0 新增+void Add()
/// <summary>
/// 新增
/// </summary>
static void Add()
{
//1.创建实体对象,使用对象初始化器,初始化对象
Studnet stu = new Studnet()
{
//给字段名赋值
s_Name = "刘德华",
s_Sex = "男",
s_Age = ,
c_ID = , }; //2.创建EF数据上下文对象,通过EF,新增到数据库。
DB_USERSEntities db = new DB_USERSEntities(); //3将对象stu加入到数据上下文的Student集合中
db.Studnet.Add(stu); //4.调用数据上下文的保存方法,将对象保存到数据库
db.SaveChanges(); //------测试代码--------------
Console.WriteLine("新增成功"); }
#endregion

Add

 
Modify

修改很智能的,在生成SQl语句的时候,只是生成你修改过的某个列的字段的SQL语句,这个可以通过SQLServer工具栏里面的SQL Server profiler工具侦听到。

 #region 2.0 修改(先查询再修改)
/// <summary>
/// 修改--(对于修改,官方标准的修改是先查询出要修改的数据,然后进行修改)
/// </summary>
static void Modify()
{
//创建数据上下文对象
DB_USERSEntities db = new DB_USERSEntities(); //FirstOrDefault返回结果的第一个元素
Studnet stu = db.Studnet.Where(s => s.s_ID == ).FirstOrDefault(); Console.WriteLine(string.Format("修改前的信息是{0} :", stu.ToString())); //修改数据
stu.s_Name = "张惠妹"; //重新保存到数据库
db.SaveChanges(); //------测试代码--------------------------------//
Console.WriteLine("修改成功");
Console.WriteLine(string.Format("修改后的信息是{0} :", stu.ToString()));
} #endregion

Modify

 
Query

//这里会查询到的结果是对象,就是类似于,system.什么什么。这是因为ToString()方法是Object对象的方法,这里我们需要来对Student对象,重写一个Tostring方法。
//因为T4模板,会在每次保存的时候,自动覆盖之前的修改,重新生成。所以需要为student写一个部分类,在部分类里面重写Tostring()方法

 #region 3.0 简单查询
/// <summary>
/// 查询
/// </summary>
static void Query()
{
//创建数据上下文对象
DB_USERSEntities db = new DB_USERSEntities(); //查询
List<Studnet> stu= db.Studnet.Where(s => s.s_Name == "刘德华").ToList(); //------测试代码----------------------------------------//
//遍历查询到的数据
stu.ForEach(s => Console.WriteLine(s.ToString()));
}
#endregion

Query

 
Delete

//删除按理说也是和修改一样,需要先查出来要删除的数据,然后删除,但这里不这么做

db.表名.Remove(对象); //此方法只是标记了当前对象为删除状态,要删除需要先加到上下文中。

 #region 4.0 删除
/// <summary>
/// 删除
/// </summary>
static void Delete()
{
DB_USERSEntities db = new DB_USERSEntities(); //测试删除指定的数据(创建要删除的对象)
Studnet stu = new Studnet() { s_ID=};
//附加到EF中
db.Studnet.Attach(stu);
//标记为删除
db.Studnet.Remove(stu);
//执行删除
db.SaveChanges(); //--------测试代码---------------//
Console.WriteLine("删除成功"); }
#endregion

Delete