千家信息网

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安全错误 数据库的锁怎样保障安全 互联网科技公司 互联网科技股票 掌上梦互联网科技 互联网科技宣传片 互联网科技类展会 互联网之后的科技是什么 北京大学互联网科技怎么样 北京华百购互联网科技有限公司 银川新华互联网科技职业技术培训学校图片 茂名市互联网科技产业园 荆州市昕露互联网络科技有限公司 速维有品互联网信息科技(苏州)有限公司 深圳艾果互联网通讯科技 互联网企业科技类企业如何做账 上海乐五互联网科技有限公司 长沙渺峰互联网科技有限公司 北京天晋互联网科技有限公司 众联互联网络科技 黑龙江互联网科技公司 广州全民伙伴互联网科技有限公司 西安纸贵互联网科技有限公司 互联网科技行业发展 上海致骋互联网科技 北京禾田雨橡互联网科技 乌苏新华互联网科技做什么的 华中科技大学互联网的牛人 电子商务与互联网科技的关系 互联网科技收购价值 颐高云石互联网科技 互联网 科技节活动 微视频大赛
0