【EF】DbFirst实现增删改查

【EF】DbFirst实现增删改查【EF】DbFirst实现增删改查

大家好,又见面了,我是你们的朋友全栈君。

1.在VS中新建控制台应用程序

【EF】DbFirst实现增删改查

2.右击刚刚建好的程序,添加“ADO.NET实体数据模型”

【EF】DbFirst实现增删改查

【EF】DbFirst实现增删改查

3.选择“来自数据库的EF设计器”

【EF】DbFirst实现增删改查

【EF】DbFirst实现增删改查

4.依次连接服务器和数据库

【EF】DbFirst实现增删改查

5.选择包括敏感数据

【EF】DbFirst实现增删改查

6.选择实体框架(5.0)。(6.x也可以试试)

【EF】DbFirst实现增删改查

7.选择需要的数据表等内容,点击完成!

【EF】DbFirst实现增删改查

这样database first的实现已经基本上完成了,如果想要用ModelFirst的方式,在第3步选择”空EF设计器模型“,在edmx文件中自己添加数据表即可。接下来通过代码来实现对数据库的操作。不管是DBFirst,ModelFirst还是CodeFirst,代码都是通用的。

1.添加实体

            //所有对数据库操作的第一步就是创建数据库访问的上下文
            newssystemEntities dbContext = new newssystemEntities();

            #region 添加实体
            category ca = new category();

            ca.name = "教育新闻";
            //在dbContext指向的数据中的Category表添加一条数据ca
            dbContext.category.Add(ca);
            //保存到数据库
            dbContext.SaveChanges();
            #endregion

2.修改、删除实体

            //修改此实体
            //1.将当前实体附加到上下文来进行管理
            dbContext.category.Attach(ca);
            //2.把上下文dbContext跟踪的实例:branch的状态改成修改状态
            //将Modified改为删除即可删除实体
            dbContext.Entry<category>(ca).State = System.Data.Entity.EntityState.Modified;
            dbContext.SaveChanges();
            #endregion

3.查询实体

            #region 普通查询

            foreach (var ca in dbContext.category)
            {
                Console.WriteLine(string.Format("id:{0} name:{1}", ca.id, ca.name));
            }
            #endregion

            #region 查询 linq语句
            //linq表达式:IQuerable类型
            IQueryable <category>  item = from b in dbContext.category where b.id < 24 select b;
            foreach (var ca in item)
            {
                Console.WriteLine(ca.id + ca.name);
            }
            #endregion

            Console.ReadKey();

    这样就完成了增删改查,可以发现,我们以前操作数据库的SQL语句没有了。对于EntityFramework给我们带来的好处,接下来分享给大家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105738.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • cifar10数据集下载及图片格式解析

    cifar10数据集下载及图片格式解析CIFAR-10是由Hinton的学生AlexKrizhevsky和IlyaSutskever整理的一个用于识别普适物体的小型数据集。一共包含10个类别的RGB彩色图片:飞机(a叩lane)、汽车(automobile)、鸟类(bird)、猫(cat)、鹿(deer)、狗(dog)、蛙类(frog)、马(horse)、船(ship)和卡车(truck)。图片的尺寸为32×32×3,数据集中一共有50…

    2022年6月22日
    43
  • tcpdf的方法_tcp fin

    tcpdf的方法_tcp fin$pdf=newTCPDF(PDF_PAGE_ORIENTATION,PDF_UNIT,PDF_PAGE_FORMAT,true,’UTF-8′,false);页面记得也设为utf-8AddPage();新建一个pdf文档页面。Image($file,$x,$y,$w,$h,$type,$link,$align,$resize,$dpi,$p

    2025年9月1日
    4
  • 个人网站可以申请微信授权登录吗

    个人网站可以申请微信授权登录吗

    2021年10月25日
    57
  • Murmur下载_murmurio

    Murmur下载_murmurioMurmurHash1MurmurHash简介Murmur英文(multiplyandrotate)and(multiplyandrotate),MurmurHash是一种非加密型哈希函数,适用于一般的哈希检索操作。由AustinAppleby在2008年发明,并出现了多个变种,都已经发布到了公有领域(publicdomain)。与其它流行的哈希函数相比,对于规律性较强的key,…

    2022年10月19日
    2
  • 计算机操作系统进程管理总结报告_进程的管理和控制实验报告

    计算机操作系统进程管理总结报告_进程的管理和控制实验报告计算操作系统进程管理一、进程与线程1.1、进程进程是资源分配的基本单位。进程控制块PCB(ProcessControlBlock)描述的是进程的基本信息以及进程的运行状态,我们说的创建及撤销进程都是对进程控制块PCB的操作。进程之间可以并发执行。一个程序中可以有多个进程。1.2、线程线程是独立调度的基本单位。一个进程中可以有多个线程,他们之间共享…

    2025年10月19日
    5
  • cocos2dx 编写shader 遇到 溢出问题[通俗易懂]

    cocos2dx 编写shader 遇到 溢出问题

    2022年1月30日
    58

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号