EF CRUD

来源:互联网 发布:哪有好的java学校 编辑:程序博客网 时间:2024/05/01 00:59

对EF进行增删查改,首先要拿到EF的上下文
这里写图片描述
上下文的名字不是固定的,用的时候先把它拷贝过来。

Class Program{    Static void Main(string[] args)    {        //EF CRUD        //创建EF上下文        Hemam2DbEntities db=new Hemam2DbEntities();        //查询        //Linq表达式语法:u代表一个参数,一个变量,变量名字,in后面是集合,遍历每个集合,遍历每个元素的时候把每个元素交给u这个变量。最后在把u选择出来。当然,可以加where条件,就是当u.ID满足大于零的时候,再把集合中的元素选出来。        //linq表达式返回的结果都是IQueryable类型的。        IQueryable<UserInfo> temp=from u in db.UserInfo                    where u.ID>0                    Select u;        foreach(var userInfo in temp)        {            Console.WriteLine(UserInfo.ID);    }    //修改    //通过linq表达式或者学的lambda查询出来的实体,默认是被EF上下文跟踪监视的。    var user=temp.FirstOrDefault();//取出集合中的第一条数据,如果不存在则返回默认值。    If(user!=null)    {        Console.WriteLine(“{0}-{1}”,User.ID,User.Name);        //内部会自动告诉上下文我当前这个实体改变了,状态也一并改成Modified状态。        User.Name=DateTime.Now.Tostring();//把名字改一下        //给上下文下个命令,去把所有的变化保存会数据库。        db.Savechages();//保存    }    //删除    If(user!=null)    {    //先定位到这个表,在把上面取到的第一行数据传进去    db.UserInfo.DeleteObject(user);//这里只是把user标记成删除状态,并没有真正删除    db.SaveChanges();//这里才是真正删除            }            //添加            //添加实体的时候先把实体创建好,赋初始值            UserInfo userInfo=new UserInfo();            userInfo.Name=”shenjun”;            userInfo.Pwd=”123”;            //这里也是先定位到表,然后在把实体传进去            db.UserInfo.AddObject(userInfo);                //只要想保存会数据库必须调用SaveChanges();               db.SaveChages();    Console.Reakey();    }}
0 0
原创粉丝点击