标签:select div number username 完整 右键 pass rgba inf
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<User>(ud).State= System.Data.Entity.EntityState.Deleted; 27 ASEntity.SaveChanges(); 28 }
注意在删除时用EntityState 删除对象必须包含主键,不然会报以下错误
通过以上实例:
1 DB First 适用于数据库已存在,主键外键等比较完整的情况
2 DB First操作简便,数据库变更可及时更新模型
3 DB First 无需面对数据库,用LINQ即可完成对数据的操作
标签:select div number username 完整 右键 pass rgba inf
原文地址:https://www.cnblogs.com/arvinzd/p/14312837.html