Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(StudentModel.
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
瓦房店租房网络安全
沃云恒飞云服务器
本地安全数据库
华硕灵耀怎么进入网络安全
网络安全技术服务工程师晋升标准
操戈天下安全卫服务器
电脑代理服务器没有响应什么问题
怎么验证数据库是否安装
山东机客网络技术有...
xbox英灵殿在线服务器错误
BS程序直连数据库安全吗
服务器 几路
传奇单机版架设怪物数据库
服务器安全策略能防住ddos吗
易迅软件开发工作室
游戏管家网络安全怎么样
由于网络技术软件平台病句
db2强制删除数据库
邮件服务器 端口映射
软件开发面试如何知道水平
海康存储服务器管理口ip
生死狙击服务器无法进入
ibm服务器硬盘启动项
服务器安全组端口有多少
emule 服务器地址
数据库算法与数据结构
计算机网络安全 课程简介
根据数据库生成po
河北pdu服务器电源怎么卖
斯迈普用服务器可以写程序吗