Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(StudentModel.
千家信息网最后更新 2025年11月07日Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
1>. 创建一个控制台程序
2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(StudentModel.edmx)
3>. 控件台代码
static void Main(string[] args) { // 创建一个网关接口,TestData是数据库名 TestDataEntities td = new TestDataEntities(); // 创建一个实体对象,Student是表映射过来的对象,将其赋值 Student st1 = new Student(); st1.StudentID = "s4"; st1.StudentName = "test1"; st1.Age = 20; // 将实体对象添加到网关接口,插入操作 td.Student.AddObject(st1); // 网关保存并改变 td.SaveChanges(); Console.WriteLine("添加成功!"); }如上 StudentModel.edmx 是生成的实体模型就是 映射表,里面包含对象于表的定义
Entity Framework 增删改查 操作
1>. 基本同上
2>. 控件台代码
class Program { // 创建一个网关接口,TestData是数据库名,静态方法只能调用静态类 static TestDataEntities stuEntities = new TestDataEntities(); static void Main(string[] args) { // 创建一个实体对象,Student是表映射过来的对象,将其赋值 Student st1 = new Student(); st1.StudentID = "s4"; st1.StudentName = "小明"; st1.Age = 20; //InsertStu(st1); //DeleteStu("s4"); //Student stu2 = FindStudentByID("s4"); //stu2.StudentName = "小明"; //UpdateStu(stu2); //Console.WriteLine(stu2.StudentName); } // 添加操作 public static void InsertStu(Student stu) { // 将实体对象添加到网关接口,插入操作 stuEntities.Student.AddObject(stu); // 网关保存并改变 stuEntities.SaveChanges(); Console.WriteLine("添加成功!ID:"+stu.StudentID); } // 删除操作 public static void DeleteStu(string ID) { Student stu = FindStudentByID(ID); stuEntities.Student.DeleteObject(stu); stuEntities.SaveChanges(); Console.WriteLine("删除成功!ID:" + stu.StudentID); } // 更新操作 public static void UpdateStu(Student stu) { // 其中 var 为 IQueryable类型,继承IEnumerable // 继承IEnumerable的类都能实现 foreach var student = from s in stuEntities.Student where s.StudentID == stu.StudentID select s; // 得到student集合里面的单一实体 var oldStu = student.SingleOrDefault(); // 修改对应的属性值 oldStu.StudentName = stu.StudentName; oldStu.Age = stu.Age; // 保存修改 stuEntities.SaveChanges(); Console.WriteLine("更新成功!ID:" + stu.StudentID); } // 更新数据 新方法 public bool UpdateEntity(MvcHotel.Model.Customer entity) { bool result = false; // 添加对象到上下文 he.Attach(entity); // 改变新加入对象的状态,设置为 已修改 he.ObjectStateManager.ChangeObjectState(entity, System.Data.EntityState.Modified); if (he.SaveChanges() > 0) { result = true; } return result; } // 查询操作 public static Student FindStudentByID(string ID) { // 方式1: Linq to EF // 根据ID查询Student,并得到集合中的单一实体 var stu = (from s in stuEntities.Student where s.StudentID == ID select s).SingleOrDefault(); // 方式2: Entity SQL string sql = "select Value c from TestDataEntities.Student as c "; ObjectQuery query = stuEntities.CreateQuery(sql); ObjectResult results = query.Execute(MergeOption.NoTracking); //return stu; return query.SingleOrDefault(); } } EF中操作数据库的网关
ObjectContext封装 .NET Framework 和数据库之间的连接。此类用作"创建"、"读取"、"更新"和"删除"操作的网关
ObjectContext 类为主类,用于与作为对象(这些对象为 EDM 中定义的实体类型的实例)的数据进行交互
ObjectContext 类的实例封装以下内容:
a> 到数据库的连接,以 EntityConnection 对象的形式封装。
b> 描述该模型的元数据,以 MetadataWorkspace 对象的形式封装
c> 用于管理缓存中持久保存的对象的 ObjectStateManager 对象
对象
实体
数据
网关
数据库
成功
接口
封装
更新
实例
模型
代码
形式
控件
方式
方法
类型
静态
小明
查询
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
rssql是什么数据库
合肥视频点播软件开发定制
厉害了我的国 网络技术
麒麟服务器raid怎么重建
数据库 ha
成都软件开发哪家强
小学学校开展网络安全教育新闻
一台服务器一个公网ip能干啥
计算机网络技术机械工业出版社
康创互联网科技有限公司
浦口区个人软件开发
软件开发技术力量配置
数据库索引查看记录
村网络安全工作计划
软件开发流程软件维护
数据库横线符号怎么弄
做邮件服务器需要固定ip吗
软件开发成本来源
数据库消除重复列
电脑软件开发包括哪些
如何选择好的网络安全接入控制
网络安全防护装备体系
防止迷恋网络安全教育记录
教育软件开发销售
口碑好软件开发公司
代号破晓服务器
湖北通来网络技术有限公司
关于网络安全法试题
历史数据库关系型数据库
了解即时通讯软件开发