zoukankan      html  css  js  c++  java
  • entity framework 新增 修改 删除 查询

    安装配置: vs2008+sp1

          SQL server 2005/2008

    操作:

    新建

    。。。。。。。。中间的就不讲了。

    1.新增

    //EFDBEntities这个是新建时,系统会取这个名字为类名,你也可以更改他。

       EFDBEntities ef = new EFDBEntities();

    方法1:

      ef.AddToT_EFNULL(new T_EFNULL
          {
                    fbit=true,
                    fdatetime=DateTime.Now,
                    ffloat=0,
                    fdecimal=0,
                    fntext="",
                    fnvarchar="",                
          });
      ef.SaveChanges();

    AddToT_EFNULL为这方法是自动生成的,格式:ADD+数据库表名

    SaveChanges(),更新数据库。

    注:数据库的字段不能为空时有些类型是必填的。

      bit,float,decimal,int 字段不赋值不会出错(bit默认为false,数值类型为0),nvarchar,ntext,datetime会出错

     方法2:

       ef.AddObject("T_EFNULL",new T_EFNULL
          {
            fdatetime = DateTime.Now,
                ffloat = 0,
                fdecimal = 0,
                fntext = "",
                fnvarchar = "",
                fint = 0
      });           

    删除:

        T_EFNULL model=ef.T_EFNULL.First();
               ef.DeleteObject(model);

                ef.SaveChanges();

    注:model必须是ef里的对象,不能自己New一个对象(T_EFNULL model = new T_EFNULL { ID = 48 };),会报错。无法删除此对象,因为未在 ObjectStateManager 中找到它。

    Detach 分离实体:

    从集合中删除实体,不会删除数据库记录,delete当saveChanges()时会删除数据库的数据

         T_EF model = T_EF.CreateT_EF(500);
                MessageBox.Show("初始化,当前对象状态:"+model.EntityState.ToString());  //detach
                ef.AddToT_EF(model);
                MessageBox.Show("添加后,当前对象状态:" + model.EntityState.ToString());  //added
                ef.Detach(model);
                MessageBox.Show("移除后,当前对象状态:" + model.EntityState.ToString());  //detach

    修改:

       T_EF model =ef.T_EF.First();
                MessageBox.Show("取得对象,当前对象状态:" + model.EntityState.ToString());     //unchanged
                model.fnvarchar = "中华人民共和国";
                MessageBox.Show("修改后,当前对象状态:" + model.EntityState.ToString());       //modifyed
                ef.SaveChanges(); 

    ApplyPropertyChanges 修改实体

          //用新对象更新数据库中主键对应的对象           

                T_EF model = ef.T_EF.First();

                //建一个新对象
                T_EF model2 = T_EF.CreateT_EF(2);
                model2.fnvarchar = "我是新对象";

        //用新对象覆盖旧对象

        ef.ApplyPropertyChanges("T_EF", model2);

         ef.SaveChanges();

  • 相关阅读:
    javascript入门笔记8-window对象
    javascript入门笔记7-计时器
    一篇RxJava友好的文章(二)
    Android 最新学习资料收集
    一篇RxJava友好的文章(一)
    瓣呀,一个基于豆瓣api仿网易云音乐的开源项目
    UStore-自定义JDF文件格式输出
    UStore-添加自定义工作流(JDF)到产品
    XMPie部署与创建过程
    XMPie Tracking 操作
  • 原文地址:https://www.cnblogs.com/chencidi/p/1888866.html
Copyright © 2011-2022 走看看