Entity Framework(一) 一 Power Tools使用讲解

1554 人阅读
分类:

Entity Framework Power Tools(一个Code First反向工程工具)现有数据库生成数据访问类和数据库上下文的一个扩展插件

首先需要下载这个插件

01.png

02.png


下载安装完成之后在项目上右键选择Entity Framework - Reverse Engineer Code First

ps:如果项目中没有安装Entity Framework包,这一步会自动帮安装,没有帮安装,则需要自己手动安装

03.png

先建几张测试表

/*==============================================================*/
/* 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)
)

点击之后会弹出选择数据库界面,自己选择一个数据库并输入密码稍等一下就会自动生成实体类

04.png

接下来介绍下使用上面我们建好的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();
和博主交个朋友吧
    发布篇幅
    • 文章总数:0
    • 原创:0
    • 转载:0
    • 译文:0
    文章分类
      文章存档
      阅读排行