Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(StudentModel.
千家信息网最后更新 2026年11月02日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安全错误
数据库的锁怎样保障安全
互联网科技公司
互联网科技股票
掌上梦互联网科技
互联网科技宣传片
互联网科技类展会
互联网之后的科技是什么
北京大学互联网科技怎么样
北京华百购互联网科技有限公司
银川新华互联网科技职业技术培训学校图片
茂名市互联网科技产业园
荆州市昕露互联网络科技有限公司
速维有品互联网信息科技(苏州)有限公司
深圳艾果互联网通讯科技
互联网企业科技类企业如何做账
上海乐五互联网科技有限公司
长沙渺峰互联网科技有限公司
北京天晋互联网科技有限公司
众联互联网络科技
黑龙江互联网科技公司
广州全民伙伴互联网科技有限公司
西安纸贵互联网科技有限公司
互联网科技行业发展
上海致骋互联网科技
北京禾田雨橡互联网科技
乌苏新华互联网科技做什么的
华中科技大学互联网的牛人
电子商务与互联网科技的关系
互联网科技收购价值
颐高云石互联网科技
互联网 科技节活动 微视频大赛