Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作
发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,Entity Framework 的小实例:在项目中添加一个实体类,并做插入操作1>. 创建一个控制台程序2>. 添加一个 ADO.NET实体数据模型,选择对应的数据库与表(StudentModel.
千家信息网最后更新 2024年09月21日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安全错误
数据库的锁怎样保障安全
九亚互联网络科技怎么样
我国的网络技术属于
深汕合作区招聘软件开发
网络安全管理员上海考证
国家网络安全宣传周wifi
自组织网络技术概念
面对当前网络安全面临的挑战
网络安全协议简称
php怎么连接数据库dns
网络安全防护目标怎么做
相机软件开发包
组织架构数据库设计
计算机网络技术高等数学
吴迪软件开发
数据库表设计comment
阿里云两年服务器租赁费
提高数据库效率
健全安全基础数据库
小程序开发需要服务器吗
数据库安全性级别有几级
全文型数据库包括什么
安哥拉网络技术
web项目数据库一直连接卡住
网络安全知多少 题目
vba连接数据库的两种方法
扩大网络安全宣传覆盖范围
数据库序列号重复问题解决
我的世界服务器屏幕闪烁
宝塔服务器管理助手
sql数据库课程设计食堂