Entity Framework(一) 一 Power Tools使用讲解
2017-11-30 18:06
1554 人阅读

Entity Framework Power Tools(一个Code First反向工程工具)现有数据库生成数据访问类和数据库上下文的一个扩展插件
首先需要下载这个插件
下载安装完成之后在项目上右键选择Entity Framework - Reverse Engineer Code First
ps:如果项目中没有安装Entity Framework包,这一步会自动帮安装,没有帮安装,则需要自己手动安装
先建几张测试表
/*==============================================================*/ /* Table: 用户信息表 */ /*==============================================================*/ create table USER_INFO ( USERID int identity(1000,1), USER_PWD varchar(20) not null, STATUS_CODE tinyint not null, USERNAME nvarchar(20) not null, REMARK nvarchar(255) not null, constraint PK_USER_INFO primary key (USERID) ) go /*==============================================================*/ /* Table: 用户角色 */ /*==============================================================*/ create table USER_ROLE_INFO ( ROLE_ID int identity(1000,1), ROLE_NAME nvarchar(20) not null, REMARK nvarchar(255) not null, constraint PK_USER_ROLE_INFO primary key (ROLE_ID) ) go /*==============================================================*/ /* Table: 用户角色配置表 */ /*==============================================================*/ create table USER_ROLE_CONFIG ( CONFIG_ID int identity, USERID int not null, ROLE_ID int not null, constraint PK_USER_ROLE_CONFIG primary key (CONFIG_ID) )
点击之后会弹出选择数据库界面,自己选择一个数据库并输入密码稍等一下就会自动生成实体类
接下来介绍下使用上面我们建好的Entity Framework框架来操作数据库
这里使用控制台+EF来访问数据库,也可以使用mvc,都一样
在控制台项目中需要添加引用EntityFramework.dll和EntityFramework.SqlServer
配置文件需要添加连接字符串,和上面自动生成的连接字符串一样
EntityFramework上下文
var entities = new EntityDBContext();
查询
List<USER_INFO> userInfoList = entities.USER_INFO.ToList(); //或 var userInfoQuery = from ui in userInfoList select ui;
新增
USER_INFO userInfo = new USER_INFO() { USERNAME = "mike", USER_PWD = "111111", STATUS_CODE = 0, REMARK = "EF测试" }; entities.USER_INFO.Add(userInfo); entities.SaveChanges();
修改
USER_INFO mInfo = entities.USER_INFO.Where(q => q.USERID == 1000).FirstOrDefault(); if (mInfo!=null) { mInfo.USERNAME = "mike2"; entities.Entry(mInfo).State = System.Data.Entity.EntityState.Modified; //标记为修改操作 entities.SaveChanges(); }
删除
//USERID是主键 USER_INFO dInfo = entities.USER_INFO.Where(q => q.USERID == 1000).FirstOrDefault(); entities.Entry(dInfo).State = System.Data.Entity.EntityState.Deleted; //标记为删除操作 entities.SaveChanges();
和博主交个朋友吧
