Entity FrameWork 增删查改

Add
 1 #region 1.0 新增+void Add()
 2         /// <summary>
 3         /// 新增
 4         /// </summary>
 5         static void Add()
 6         {
 7             //1.创建实体对象,使用对象初始化器,初始化对象
 8             Studnet stu = new Studnet()
 9             {
10                 //给字段名赋值
11                 s_Name = "刘德华",
12                 s_Sex = "",
13                 s_Age = 23,
14                 c_ID = 1,
15 
16             };
17 
18             //2.创建EF数据上下文对象,通过EF,新增到数据库。
19             DB_USERSEntities db = new DB_USERSEntities();
20 
21             
22             //3将对象stu加入到数据上下文的Student集合中
23             db.Studnet.Add(stu);
24 
25             //4.调用数据上下文的保存方法,将对象保存到数据库
26             db.SaveChanges();
27 
28             //------测试代码--------------
29              Console.WriteLine("新增成功");
30 
31         } 
32         #endregion
Add
 
Modify

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

 1 #region 2.0 修改(先查询再修改)
 2         /// <summary>
 3         /// 修改--(对于修改,官方标准的修改是先查询出要修改的数据,然后进行修改)
 4         /// </summary>
 5         static void Modify()
 6         {
 7             //创建数据上下文对象
 8             DB_USERSEntities db = new DB_USERSEntities();
 9 
10             //FirstOrDefault返回结果的第一个元素
11             Studnet stu = db.Studnet.Where(s => s.s_ID == 10).FirstOrDefault();
12 
13             Console.WriteLine(string.Format("修改前的信息是{0} :", stu.ToString()));
14 
15             //修改数据
16             stu.s_Name = "张惠妹";
17 
18             //重新保存到数据库
19             db.SaveChanges();
20 
21             //------测试代码--------------------------------//
22             Console.WriteLine("修改成功");
23             Console.WriteLine(string.Format("修改后的信息是{0} :", stu.ToString()));
24         }
25         
26         #endregion
Modify
 
Query

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

 1 #region 3.0 简单查询
 2         /// <summary>
 3         /// 查询
 4         /// </summary>
 5         static void Query()
 6         {
 7             //创建数据上下文对象
 8             DB_USERSEntities db = new DB_USERSEntities();
 9 
10             //查询
11             List<Studnet> stu= db.Studnet.Where(s => s.s_Name == "刘德华").ToList();
12 
13             //------测试代码----------------------------------------//
14             //遍历查询到的数据
15             stu.ForEach(s => Console.WriteLine(s.ToString()));
16         } 
17         #endregion
Query
 
Delete

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

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

 1 #region 4.0 删除
 2         /// <summary>
 3         /// 删除
 4         /// </summary>
 5         static void Delete()
 6         {
 7             DB_USERSEntities db = new DB_USERSEntities();
 8 
 9             //测试删除指定的数据(创建要删除的对象)
10             Studnet stu = new Studnet() { s_ID=8};
11             //附加到EF中
12             db.Studnet.Attach(stu);
13             //标记为删除
14             db.Studnet.Remove(stu);
15             //执行删除
16             db.SaveChanges();
17 
18             //--------测试代码---------------//
19             Console.WriteLine("删除成功");
20             
21         } 
22         #endregion
Delete
原文地址:https://www.cnblogs.com/caofangsheng/p/4524740.html