首页 > 代码库 > EF总结--模型创建和数据的增删改查

EF总结--模型创建和数据的增删改查

       EF的创建方式有三种:

  • DataBaseFirst

       新建项-ADO.NET实体数据模型-从数据库生成

  • ModelFirst

       新建项-ADO.NET实体数据模型-空模型,在设计器中设计实体和它们之间的关系,之后右击选择从模型生成数据库。

  • CodeFirst

       通过写代码的方式,创建实体,上下文,数据库也是通过写代码生成。

       LinQ To EF进行增删改查

       增:

       

            //实例化上下文
            departmentEntities dbcontext = new departmentEntities();
            //添加
            emp myemp = new emp();
            myemp.depid = 2;
            myemp.empid = 2;
            myemp.empname = "kitty";
            //附加到上下文
            dbcontext.emp.add(myemp);
            //更新到数据库
            dbcontext.savechanges();

       修改:

            //修改,通常是所有属性都赋值
            myemp.depID = 2;
            myemp.empID = 2;
            myemp.empName = "Hello Kitty";
            dbcontext.Entry<emp>(myemp).State = EntityState.Modified;
            dbcontext.SaveChanges();

       先查询后修改:

            //查询后更改,不用附加(Entry)到上下文
            var e = dbcontext.emp.First();
            e.empName = "abc";
            dbcontext.SaveChanges();

       删除:

            var myemp = dbcontext.emp.Find(7);
            //删除,传一个主键就可以            
            dbcontext.Entry<emp>(myemp).State = EntityState.Deleted;
            dbcontext.SaveChanges();

       查询:

            //查询 原始 不用LinQ
            List<emp> myemplist = new List<emp>();
            foreach (var item in dbcontext.emp)
            {
                if (item.empID > 2)
                {
                    myemplist.Add(item);
                    Console.WriteLine(item.empName + "\n");
                }
            }
            foreach (var myemp in myemplist)
            {
                Console.WriteLine(myemp.empName);
            }
            //查询 LinQ
            var result = (from b in dbcontext.emp
                          where b.empID > 2
                          select b);
            foreach (var item in result)
            {
                Console.WriteLine(item.empName + "\n");
            }



EF总结--模型创建和数据的增删改查