[原创]EF-DBFirst实现过程

简介: [原创]EF-DBFirst实现过程

1,设计数据库



新建数据库以及数据表

设置主键,并将主键设置为标识列(主键自增)。


image.png

image.png



2,新建项目



文件->新建->项目->控制台应用程序


image.png


项目->添加->数据->ADO.NET实体数据模型。


image.png

来自数据库的EF设计器


image.pngimage.png

新建连接

服务器名的获取:


image.png

image.png

image.png

image.png

image.png

此时项目文件为:


image.png


image.png

在Model1.Context.cs下找到上下文,并Ctrl+C


image.png

到Program.cs下编写代码实现EF增删改查

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace EF_DBFirst_Demo
{
    class Program
    {
        static void Main(string[] args)
        {
            //使用using的原因:因为连接数据库是非常占用资源的,所以我们要及时释放,using的作用就是在代码块执行完毕后立即释放资源,不需等待CLR的资源回收机制处理。
            //1.实例化上下文对象
            using (EF_DBFirstDemoEntities dbContext=new EF_DBFirstDemoEntities())
            {
                //2.实例化对象实例
                Customer customer_A = new Customer();
                customer_A.CreateTime=DateTime.Now;
                customer_A.CreateBy = "Fnatic";
                customer_A.CustomerName = "FutaoSmile";
                //不需要指定id,因为id是自增的,所以数据库会自动赋值,我们在这边赋值了也是没用的。
                //3.告诉EF我们要对哪张表进行什么样的操作
                dbContext.Customer.Add(customer_A);
                //4.将数据同步到数据库 
                dbContext.SaveChanges();
            }
            //修改数据的第二种方法。(第一种方法请参见下面给出的链接)
            1.实例化上下文对象
            using (EF_DBFirstDemoEntities dbContext=new EF_DBFirstDemoEntities())
            {
                //2.根据ID从数据库获取对应的数据并赋值给一个实例化的对象
                Customer customer= dbContext.Customer.FirstOrDefault(u => u.CustomerID==2);
               //或 Customer customer = dbContext.Customer.Find(2);
                //3.更改需要更改的值
                customer.CreateBy = "Admin";
                customer.CreateTime = DateTime.Now;
                //4.将数据同步到数据库
                dbContext.SaveChanges();
        }
    }
}


增删改查的实现请参见我的另一篇文章:http://www.jianshu.com/nb/10166743

谢谢O(∩_∩)O~</br>


相关文章
|
编译器 测试技术 开发工具
让你的 XCode 编译链接耗时减半
让你的 XCode 编译链接耗时减半
1721 0
让你的 XCode 编译链接耗时减半
|
运维 Cloud Native 安全
云原生时代的后端架构演进
【2月更文挑战第12天】 在数字化转型的大潮中,云原生技术以其灵活性和可扩展性成为推动企业快速发展的关键力量。本文将探讨云原生时代下后端架构的演进路径,从传统的单体应用到微服务架构,再到服务网格和无服务器计算等现代化技术的应用。通过分析这些技术背后的设计理念及其对企业信息系统带来的变革,旨在为读者提供一个全面而深入的视角,理解后端架构在云原生技术推动下的演进趋势。
|
9月前
|
机器学习/深度学习 计算机视觉 异构计算
YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
596 11
YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2023 FasterNet 高效快速的部分卷积块
|
8月前
|
Kubernetes Cloud Native 开发者
alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
250 61
|
Linux Shell 网络安全
Kickstart 自动化安装
Kickstart结合PXE技术实现Linux系统的自动化安装,适用于需批量部署一致版本的服务器场景,以减少重复劳动。通过搭建Kickstart+DHCP+NFS+TFTP+PXE架构,服务器可远程启动并下载安装配置。具体包括:配置TFTP服务以传输启动文件,设置PXE引导参数指向Kickstart脚本,利用DHCP分配IP地址。这种方式极大地提高了部署效率与一致性。
327 2
|
Prometheus 监控 Cloud Native
使用 Jenkins 监控和优化构建性能
【8月更文第31天】在软件开发的过程中,构建性能直接影响着开发效率和团队的生产力。一个快速、可靠的构建流程可以显著加快迭代速度,减少等待时间,使团队能够更快地响应变化。Jenkins 作为一款广泛使用的持续集成/持续交付(CI/CD)工具,提供了丰富的功能来帮助开发者监控和优化构建性能。本文将探讨如何利用 Jenkins 的内置工具和外部工具来监控构建性能,并提出一些具体的优化方案。
1125 0
|
Linux
鸟哥的Linux私房菜PDF
鸟哥的Linux私房菜PDF
551 0
|
网络协议 算法 网络架构
计算机网络 | 网络层知识点汇总-3
计算机网络 | 网络层知识点汇总
181 0
electron setParentWindow绑定父窗口后,会出现center()不生效问题
在使用 Electron 的 `setParentWindow` 方法绑定父窗口后,有时会发现调用 center() 方法无效的情况。
262 0
|
SQL 关系型数据库 MySQL
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 下
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+ 下
330 0
清华学姐熬了一个月肝出这份32W字Linux知识手册,在 Github标星31K+   下