前景:要操作的数据表必须添加主键(方式:进入数据库-->数据表名-->设计-->列名右键-->设置主键)

可在服务器资源管理器中查看是否设置了主键(主键会有一把钥匙的图样)

1)、项目名右键-->新建项-->ADO.NET数据模型

  

  选择第一个“来自数据库的EF设计器”就行

  

如果是第一次连接,点击新建连接完成操作即可,下面选择   “是,在连接字符串中包含敏感数据”

  

选择需要添加的数据库对象,点击完成。

2)、操作数据表的增删改查

  2.1)、声明一个 EF的上下文.(这个上下文指向数据库)

  

这个对象可以声明成全局的上下文

StudentEntities dbContext = new StudentEntities();

  2.2)、增

   1 //声明一个实体,并赋值

 Students stu = new Students();
stu.StudentName = "李四";
stu.StudentSex = "男";
stu.StudentAge = ;
stu.StudentProvince = "上海";
stu.StudentPhone = ""; //写法一:
//dbContext.Students.Add(stu);
//写法二:
dbContext.Entry<Students>(stu).State = System.Data.Entity.EntityState.Added; //告诉上下文把实体的变化保存到数据库里面去,返回受影响行数
int i = dbContext.SaveChanges();
        //三元表达式
string str = i == ? "添加成功" : "添加失败";
Console.WriteLine(str);

  2.3)、删

  Students stu = new Students();
stu.StudentNO = ; dbContext.Entry<Students>(stu).State = System.Data.Entity.EntityState.Deleted;
int i = dbContext.SaveChanges();
string str = i == ? "删除成功" : "删除失败";
Console.WriteLine(str);

  2.4)、修改整条数据

 Students stu = new Students();
stu.StudentNO = ;
stu.StudentName = "赵六";
stu.StudentSex = "男";
stu.StudentAge = ;
stu.StudentProvince = "广州";
stu.StudentPhone = ""; dbContext.Entry<Students>(stu).State = System.Data.Entity.EntityState.Modified;
int i = dbContext.SaveChanges();
string str = i == ? "修改成功" : "修改失败";
Console.WriteLine(str);

  2.4.2)、修改单个属性

 Students stu = new Students();
stu.StudentNO = ;
stu.StudentName = "露丝";
stu.StudentAge = ;
stu.StudentSex = "女";
stu.StudentProvince = "";
stu.StudentPhone = ""; //将当前实例附加到上下文来处理
dbContext.Students.Attach(stu); //写法一:
//这里修改了名字和性别,因为其他的属性字段是不可空的所以为了通过验证必须
//赋值(赋上了任意的值,但是我们并没有保存这些更改)
//dbContext.Entry<Students>(stu).Property("StudentName").IsModified = true;
//dbContext.Entry<Students>(stu).Property("StudentSex").IsModified = true; //写法二:Lambda表达式
dbContext.Entry<Students>(stu).Property<string>(s => s.StudentName).IsModified = true;
dbContext.Entry<Students>(stu).Property<string>(s => s.StudentSex).IsModified = true; int i = dbContext.SaveChanges();
string str = i == ? "修改成功" : "修改失败";
Console.WriteLine(str);

  2.5)、查询整张数据表

 foreach (var item in dbContext.Students)
{
//打印整张表的学号和姓名
Console.WriteLine("学号: " + item.StudentNO + " 姓名: " + item.StudentName);
}

  2.5.2)、Linp表达式按条件查询数据

  //查询整张表女生的信息
var temp = from s in dbContext.Students
where s.StudentSex == "女"
select s;
foreach (var item in temp)
{
//打印女生的信息
Console.WriteLine(item.StudentName);
}

使用ADO.NET实体数据模型的更多相关文章

  1. Visual 2015创建新项,缺少ADO.NET 实体数据模型的解决方法

    现在的某度查资料真的很麻烦,突然我自身的VS2015创建EF的时候找不到 ADO.NET 实体数据模型,但是使用CodeFrist是可以生成数据表的.所有特别郁闷. 打开界面如下 某度半天,都没有查出 ...

  2. ADO.NET实体数据模型使用探索1

    今天研究了下ADO.NET实体数据模型,想写个关于两张有外键关系的增改删查,以此来稍增加点难度. 编程环境:vs2010+sql2005 1.在SQL2005下建立三张表:学生信息表Student(S ...

  3. Model First:创建实体数据模型(ADO.NET 实体数据模型)

    Microsoft Entity Framework是一个对象关系映射工具(Object Relational Mapping ,O/RM)工具.它可以让你从一个数据库自动地生成数据接入层.实体框架免 ...

  4. vs212创建mvc3项目,添加ADO.NET实体数据模型时产生 XXXX.Desiger.cs 文件为空

    vs212创建mvc3项目,发现添加ADO.NET实体数据模型时,产生StoreDB.Desiger.cs文件为空 产生StoreDB.Desiger.cs文件为空 原因是,在vs2012中,添加AD ...

  5. Visual Studio2017中如何让Entity Framework工具【ADO.NET实体数据模型】支持MYSQL数据源

    熟悉Entity Framework应该对以下图片不陌生,他就是ADO.NET实体数据模型向导:可以将数据库的表自动生成模型类,或者创建Code First的模型文件. 但是这个模型向导默认只显示微软 ...

  6. 《MVC+EF》——用DBFirst创建ADO.NET实体数据模型和对象关系映射

    转载于:http://blog.csdn.net/zhoukun1008/article/details/50528145 现在越来越喜欢MVC了,不光是因为ITOO中用到了他,而是因为它里面包含了很 ...

  7. ADO.NET实体数据模型中关于数据库字段默认值的处理

    无论是Visual Studio 2010或者2013内置的ADO.NET实体数据模型都有一个小问题:数据库中有些字段已设置了默认值,但ADO.NET实体数据模型工具并不会自动进行设置. 这时需要手工 ...

  8. Visual Studio2017中如何让ADO.NET实体数据模型[EntityFramework]支持MariaDB&MySQL数据源

    近期由于工作需要,需要重新修改设计系统的ADO.NET实体数据模型.edmx文件中间,在完成实际中途遇到一些实际使用问题,特此记录. 1. Visual Studio 2017 无法以实体设计模式打开 ...

  9. ADO.NET实体数据模型

    本文说一下如何使用ADO.NET实体数据模型,并解释一些概念. 1,首先你要建立一个数据库.比如我在SQL2005上面建立了数据库student,包含两个表: 2,然后再项目上添加新建项: 3,打开新 ...

  10. Ado.Net实体数据模型EF,如何在代码中添加数据库连接密码

    在创建EF模型的时候,VS2013提示说“在连接字符串中存储敏感数据可能有安全风险”,于是我选择了在代码中添加,可是如何通过代码添加呢? 我在网上百度了下,没有人说的清楚直观. 假设我们创建了一个名字 ...

随机推荐

  1. zabbix通过agent监控linux主机

    前言: 前几篇博客分别介绍了通过snmp来进行监控linux主机与windows主机,本篇介绍通过agent客户端来进行系统监控. 环境: server:192.168.249.142 client: ...

  2. Windows安装与配置—Node.js

    一.搭建环境 1.下载软件 打开下载链接:https://nodejs.org/zh-cn/ , 2.双击安装,指定安装位置 3.测试是否安装成功 用管理员方式打开命令行cmd,输入node -v如果 ...

  3. 【Unity游戏开发】性能优化之在真机上开启DeepProfile与踩坑

    一.引子 最近马三入职了新公司,平时除了负责编辑器开发之外还要做一些游戏性能优化方面的工作.在这里首先给大家安利一下Unity官方的性能测试分析工具URP ,这个工具目前是免费,测试的过程中也不需要接 ...

  4. go语言之变量

    1.go的hello world package main //申明开头,表示代码所属包,申明为main包,可以编译为二进制程序 import ( "fmt" ) //导入格式化包 ...

  5. cookie及其特点

    关于cookie我们首先要知道cookie是指会话跟踪技术 我们可以用它来做一下事情,但是我们需要清楚cookie是不安全的 功能: 会话状态管理(如用户登录状态.购物车.游戏分数和其它需要记录的信息 ...

  6. Java入门系列之包装类(四)

    前言 上一节我们讲解了StringBuilder VS StringBuffer以及二者区别,本节我们来讲解包装类. 包装类 我们知道在Java中有8中基本数据类型,分为数值类型:byte.short ...

  7. JS 注释

    JS 注释 JavaScript 注释可用于提高代码的可读性. 单行注释 // 输出标题: document.getElementById("myH1").innerHTML=&q ...

  8. CentOS环境下通过YUM安装软件,搭建lnmp环境

    安装nginx.php-fpm和mysql. yum install nginx yum install php-fpm yum install mysql CentOS下LNMP环境配置 1. 配置 ...

  9. IDEA中GitLab的使用

    首先安装git https://git-scm.com/downloads/ 下载对应的版本 下载好了,安装打开 Windows. 打开之后2步走,与git连接 首先选择仓库,进行git init本地 ...

  10. 树莓派 raspbian Linux 系统命令行 快捷键

    在 Linux 下使用命令操作的时候,光标的移动令人头痛.命令输入完了,执行之后发现缺少权限,然后不得不移动光标到行首加 sudo,而命令又极长……当我学会了命令行相关的快捷键之后,不仅效率提高了,更 ...