zoukankan      html  css  js  c++  java
  • EF实现增删改查

    从来没想到过能在这个上面翻车,感慨自学没有培训来得系统啊,废话不多说

    ORM:对象关系映射(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语言里不同类型系统的数据之间的转换

    EF:数据持久化

       是将内存中的数据模型转换为存储模型,以及将存储模型转换为内存中的数据模型的统称;数据模型可以是任何数据结构或对象模型,存储模型可以是关系模型、XML、二进制流等;其实,简单来说,就是将数据存储到数据库中,为什么这么说呢?因为持久化就不是暂时的,而存储分为暂存和永存两个方面,暂存指的是存储到了计算机的内存中,电源关闭即丢失。而永存就是存储到了类似数据库里,数据就可以反复使用。除此以外,持久化封装了数据访问细节,为大多数业务逻辑提供面向对象的API。

       1. 通过持久化技术可以减少访问数据库数据次数,增加应用程序执行速度;

       2. 代码重用性高,能够完成大部分数据库操作; 

       3. 松散耦合,使持久化不依赖于底层数据库和上层业务逻辑实现,更换数据库时只需修改配置文件而不用修改代码

    紧接正文,EF CodeFirst进行增删改查的方式

    引用EntityFramework后,我们建立好了实体模型

    添加:

    1、声明 一个EF的上下文

    dbEntities dbContext = new dbEntities();

    2、声明一个User实体

    YJ_USERS user = new YJ_USERS();
    user.LoginName = "****";
    user.Mail = "****";
    user.PassWord = "****";
    user.Plane = "****";
    user.UserName = "****";
    user.cardNo = "****";
    user.phone = "****";

    3、 告诉EF咱们对上面的实体做一个插入操作

    dbContext.YJ_USERS.Add(user);

          告诉上下文把实体的变化保存到数据库里面去。

    dbContext.SaveChanges();//添加、修改、删除时都要用到的

    修改:

    1、声明一个User实体

                YJ_USERS user = new YJ_USERS();
                user.LoginName = "111";
                user.Mail = "ssss";
                user.PassWord = "ssss";
                user.Plane = "ssss";
                user.UserName = "ssss";
                user.cardNo = "ssss";
                user.phone = "ssss";
                user.ID = 1;//修改的时候指定id

    2、告诉上下文咱们的对此实体进行更新操作

                dbContext.Entry(YJ_USERS).State = EntityState.Modified;     //这里只修改一列
                dbContext.Entry(YJ_USERS).Property(u => u.UserName).IsModified = true;

    3、告诉上下文把实体的变化保存到数据库里面去

                dbContext.SaveChanges();//执行sql脚本的地方

    删除:

    1、声明一个User实体

                YJ_USERS user = new YJ_USERS();
                user.LoginName = "111";
                user.Mail = "ssss";
                user.PassWord = "ssss";
                user.Plane = "ssss";
                user.UserName = "ssss";
                user.cardNo = "ssss";
                user.phone = "ssss";
                user.ID = 1;//删除的时候指定id

    2、告诉上下文咱们的对此实体进行删除操作

                1.dbContext.Entry<HKSJ_USERS>(user).State = System.Data.EntityState.Deleted;
                2.dbContext.YJ_USERS.Remove(user); 
    db.SaveChanges();

    查询:

                var data = dbContext.YJ_USERS.Where(u => u.ID > 0);  
    
                foreach (var userInfo in data)
                {
                    Console.WriteLine(YJ_USERS.ID + "  " + YJ_USERS.UserName);
                }

     这里附一篇博客吧,里面写的挺详细的

    【EF学习笔记04】----------EF简单增删改查https://www.cnblogs.com/gosky/p/5751815.html

  • 相关阅读:
    Android 4.1 for Developers
    Frame Animation 帧动画
    07事事精明,人人远离。
    Launcher 拖拽 流程小结『android 2.3 2.2』
    Android开发书籍推荐
    My first App EncryptWheel is in WAITING FOR REVIEW status
    ubuntu安装显卡驱动
    Shell脚本学习笔记(十)文件操作
    Shell脚本学习笔记(四)流程控制
    Shell脚本学习笔记(五)函数
  • 原文地址:https://www.cnblogs.com/yinxuejunfeng/p/9761865.html
Copyright © 2011-2022 走看看