文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

EF基础篇-DB First

2021-05-31 18:42

关注


	EF基础篇-DB First
[数据库教程]

EDM entity data model  实体数据模型

 

Conceptual models 概念模型

Mappings         连接

Storage models    存储模型

 

Orm object relational mapping 对象关系映射

EF entity framework 是基于ADO.Net的ORM框架,将数据库中的表映射为实体类,建立联系,通过上下文进行数据操作

 

DB first

1 新建一个控制台程序

2 右键点击添加,新建项,如图,选择ADO.NET 实体数据模型

技术图片

3 模型配置

选择来自数据库的EF设计器

技术图片

数据库连接配置和测试

技术图片

选择所需的表、视图,点击完成

技术图片

文件分析

如图edmx文件是实体属性设置界面,其中的导航属性是外键

技术图片

属性操作 移除 新增 从数据库个性模型

技术图片

Context文件 存在于Context.tt下

技术图片

构造函数中的name对应于App.Config中数据库连接

DbSet 实体对象的集合,可用于增删改查

 

tt文件下存放实体类

技术图片

 

CRUD实际操作

技术图片
 1            //CRUD
 2             using (var ASEntity = new AccountSystemEntities())
 3             {
 4                 //新增数据
 5                 User u = new User();
 6                 u.Email = "abc@163.com";
 7                 u.UserID = ASEntity.User.Select(p => p.UserID).ToList().Max() == 0 ? 1 : ASEntity.User.Select(p => p.UserID).ToList().Max() + 1;
 8                 u.SerialNumber = "00000";
 9                 u.UserName = "Test";
10                 u.Password = "123";
11                 u.RoleID = 1;
12                 ASEntity.User.Add(u);
13                 ASEntity.SaveChanges();
14 
15                 //查询和修改
16                 var uu = ASEntity.User.Where(p => p.UserName == "Test").FirstOrDefault();
17                 uu.Password = "1234";
18                 ASEntity.SaveChanges();
19 
20                 //删除方式一 先查再删除
21                 ASEntity.User.Remove(uu);
22                 ASEntity.SaveChanges();
23 
24                 //删除方式二 先定义再标记状态删除
25                 User ud = new User() { UserID=36 };
26                 ASEntity.Entry(ud).State= System.Data.Entity.EntityState.Deleted;
27                 ASEntity.SaveChanges();
28             }        
View Code

注意在删除时用EntityState 删除对象必须包含主键,不然会报以下错误

技术图片

通过以上实例:

1 DB First 适用于数据库已存在,主键外键等比较完整的情况

2 DB First操作简便,数据库变更可及时更新模型

3 DB First 无需面对数据库,用LINQ即可完成对数据的操作

 

EF基础篇-DB First

原文地址:https://www.cnblogs.com/arvinzd/p/14312837.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯