博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
EF-DBFirst实现过程
阅读量:6165 次
发布时间:2019-06-21

本文共 1871 字,大约阅读时间需要 6 分钟。

时间:2017-03-09

系列文章:
建议学习路径 DBFirst->ModelFirst->CodeFirst

思路:通过SQL Server 2014 Management Studio设计好数据库之后,根据数据库生成实体和上下文。

1,设计数据库

新建数据库以及数据表

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

img_a1001443636d02bff13dd60e9a4df5e7.png
设置主键
img_8868faf3d90d747fdec89e0c3926a571.png
标识列

2,新建项目

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

img_694c54a0a6194d624901db15f192a7ee.png
新建项目

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

img_d937c3f13de967ab9a582510fd5d4db7.png
ADO.NET实体数据模型

来自数据库的EF设计器

img_644eeba380acb077f0a66b81b0610223.png
003.png

新建连接

服务器名的获取:

img_413501056a783bd20eef6b3f276ec3c3.png
服务器名的获取
img_7937ddf2222f1a252455e3408391a398.png
005.png
img_59b2a70b02909c062e9c8ea9d7fd125b.png
006.png

此时项目文件为:

img_03eded8649f9e4064a93bcecff85cef5.png
项目结构

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

img_0ff9b425dfe851f59ce4ae176357e8b6.png
008.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();        }    }}

增删改查的实现请参见我的另一篇文章:

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

转载地址:http://suyba.baihongyu.com/

你可能感兴趣的文章
判断字符串是否为数字的函数
查看>>
[emuch.net]MatrixComputations(7-12)
查看>>
linux 命令 — 文件相关
查看>>
自己空闲的时候封装一下
查看>>
Datagard產生gap
查看>>
本机web开发环境的搭建--nginx篇
查看>>
rcnn 理解笔记
查看>>
问答项目---登陆验证码点击切换及异步验证验证码
查看>>
plist文件中iphone和ipad的应用图片设置
查看>>
搜集的一些资源网站链接
查看>>
struts2中类型转换器的使用
查看>>
11G Oracle RAC添加新表空间时数据文件误放置到本地文件系统的修正
查看>>
从91移动应用发展趋势报告看国内应用现状
查看>>
【ORACLE技术嘉年华PPT】MySQL压力测试经验
查看>>
Linux下汇编调试器GDB的使用
查看>>
css溢出机制探究
查看>>
vue中如何实现后台管理系统的权限控制
查看>>
关于angularjs过滤器的理解
查看>>
vue 使用html2canvas将DOM转化为图片
查看>>
angular编辑-初始化变量失败
查看>>