EF增删库查
public async Task<bool> Add(fu_ocrresult model)
{
using (var db = new GENEModel())
{
//1.将实体对象 a.加入 EF 对象容器中,并 b.获取 伪包装类对象
DbEntityEntry<fu_ocrresult> entry = db.Entry<fu_ocrresult>(model);
//2.包装类对象的状态设置
entry.State = EntityState.Added;
try
{
//4.提交到数据库 完成修改
var rtn = await db.SaveChangesAsync();
if (rtn > )
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
LogHelper.Error(this, ex);
return false;
}
}
}
public async Task<bool> Update(fu_ocrresult model)
{
using (var db = new GENEModel())
{
//1.将实体对象 a.加入 EF 对象容器中,并 b.获取 伪包装类对象
DbEntityEntry<fu_ocrresult> entry = db.Entry<fu_ocrresult>(model);
//2.包装类对象的状态设置
entry.State = EntityState.Modified;
try
{
//4.提交到数据库 完成修改
var rtn = await db.SaveChangesAsync();
if (rtn > )
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
LogHelper.Error(this, ex);
return false;
}
}
}
}
/// <summary>
/// 获取识别明细
/// </summary>
/// <param name="ocrresultid"></param>
/// <returns></returns>
public async Task<fu_ocrresult> GetOcrResult(string ocrresultid)
{
using (var db = new GENEModel())
{
var query = db.fu_ocrresult.Where(x => x.OCRResultID.Equals(ocrresultid));
try
{
var sql = query.ToString();
LogHelper.Info(this, sql);
return await query.FirstOrDefaultAsync();
}
catch (Exception ex)
{
LogHelper.Error(this, ex);
return null;
}
}
}
//await关键字标记的异步任务,这个异步任务必须是以Task或者Task<TResult>作为返回值的
public class ValidateDal
{ #region 此类的实例化
private static ValidateDal fwkUersDAL = null;
/// <summary>
/// 此类的实例化
/// </summary>
/// <returns></returns>
public static ValidateDal IntiStance()
{
if (fwkUersDAL == null)
{
fwkUersDAL = new ValidateDal();
}
return fwkUersDAL;
}
#endregion
ghcConetent dbContent = new ghcConetent();
/// <summary>
/// 用户登陆
/// </summary>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param> public async Task<List<FWKUSER>> CommitValidate(string userName, string password)
{
var result = from c in dbContent.FWK_USER
where (c.LOGIN_NAME == userName && c.PASSWORD == password)
select new FWKUSER
{
LOGIN_NAME = c.LOGIN_NAME,
USER_ID = c.USER_ID,
EMPLOYEE_ID = c.EMPLOYEE_ID
};
return await result.ToListAsync();
}
/// <summary>
/// 查询用户系统角色
/// </summary>
/// <param name="userName">用户账号</param>
/// <param name="sysCode">系统代码</param>
/// <returns></returns>
public async Task<List<FWKUSER>> GetUserRoleBySysCode(string userName,string sysCode)
{
//左连接
var result = from c in dbContent.FWK_USER
join r in dbContent.FWK_ROLE on c.ROLE_CODE equals r.ROLE_CODE into g
from cr in g.DefaultIfEmpty()
join s in dbContent.FWK_SYSTEM on c.SYSTEM_ID equals s.SYSTEM_ID into g2
from crs in g2.DefaultIfEmpty()
where (c.LOGIN_NAME == userName && crs.SYSTEM_ID == sysCode)
select new FWKUSER
{
LOGIN_NAME = c.LOGIN_NAME,
ROLE_CODE = c.ROLE_CODE,
ROLE_NAME = cr.ROLE_NAME,
SYSTEM_ID = crs.SYSTEM_ID,
SYSTEM_CODE = crs.SYSTEM_CODE,
SYSTEM_NAME = crs.SYSTEM_NAME
};
return await result.ToListAsync(); }
/// <summary>
/// 根据用户名密码获取菜单Id
/// </summary>
/// <param name="userName">用户名</param>
/// <param name="password">密码</param>
/// <returns></returns>
public async Task<List<fwkMenu>> GetMenuId(string userName, string password)
{
var result = from c in dbContent.FWK_USER
join f in dbContent.FWK_USER_SYS_ROLE_REL on c.USER_ID equals f.USER_ID into g
from cf in g.DefaultIfEmpty()
join w in dbContent.FWK_ROLE on cf.ROLE_CODE equals w.ROLE_CODE into g2
from cfw in g2.DefaultIfEmpty()
join m in dbContent.FWK_ROLE_MENU_REL on cfw.ROLE_CODE equals m.ROLE_CODE into g3
from cfwm in g3.DefaultIfEmpty()
where(c.LOGIN_NAME.Equals(userName) && c.PASSWORD.Equals(password))
select new fwkMenu
{
Menu_Id = cfwm.MENU_ID
};
return await result.ToListAsync();
}
} #region 用户及科室关系操作
/// <summary>
/// 更新用户及科室关系操作
/// </summary>
/// <param name="model">用户及科室关系model</param>
/// <returns></returns>
public async Task<bool> UpdateOrg(FWK_ORG_ROLE_REL model)
{
Boolean result = false;
using (var tran = dbConetent.Database.BeginTransaction())
{
var query = from c in dbConetent.FWK_ORG_ROLE_REL
where (c.USER_ID.Equals(model.USER_ID))
select c;
foreach (var singerModel in query)
{
singerModel.ORG_ID = model.ORG_ID; singerModel.USER_ID = model.USER_ID;
DbEntityEntry<FWK_ORG_ROLE_REL> entry = dbConetent.Entry<FWK_ORG_ROLE_REL>(singerModel);
entry.State = EntityState.Modified; int trn = ;
try
{
trn = await dbConetent.SaveChangesAsync();
tran.Commit();
if (trn > )
{
result = true;
}
else
{
result = false;
}
}
catch (Exception ex)
{
LogHelper.Info(this, ex);
tran.Rollback();
result = false; } }
return result;
} }
/// <summary>
/// 删除用户及科室关系
/// </summary>
/// <param name="model">用户及科室关系model</param>
/// <returns></returns>
public async Task<bool> DeleteOrg(FWK_ORG_ROLE_REL model)
{
Boolean result = false;
var query = from c in dbConetent.FWK_ORG_ROLE_REL
where (c.USER_ID.Equals(model.USER_ID) && c.ORG_ID.Equals(model.ORG_ID))
select c;
using (var tran = dbConetent.Database.BeginTransaction())
{
foreach (var singerModel in query)
{
DbEntityEntry<FWK_ORG_ROLE_REL> entry = dbConetent.Entry<FWK_ORG_ROLE_REL>(singerModel);
entry.State = EntityState.Deleted;
try
{
int rtn = await dbConetent.SaveChangesAsync();
tran.Commit();
if (rtn > )
{
result = true;
}
else
{
result = false;
}
}
catch (Exception ex)
{
LogHelper.Info(this, ex);
tran.Rollback();
result = false;
} }
return result;
}
}
/// <summary>
/// 增加用户及科室关系
/// </summary>
/// <param name="model">用户及科室关系model</param>
/// <returns></returns>
public async Task<bool> InsertOrg(FWK_ORG_ROLE_REL model)
{
Boolean result = false; using (var tran = dbConetent.Database.BeginTransaction())
{
FWK_ORG_ROLE_REL mode = new FWK_ORG_ROLE_REL();
mode.USER_ID = model.USER_ID;
mode.ORG_ID = model.ORG_ID;
mode.AUOT_ID = model.AUOT_ID;
DbEntityEntry<FWK_ORG_ROLE_REL> entry = dbConetent.Entry<FWK_ORG_ROLE_REL>(mode);
entry.State = EntityState.Added; try
{
int rtn = await dbConetent.SaveChangesAsync();
tran.Commit();
if (rtn > )
{
result = true;
}
else
{
result = false;
}
}
catch (Exception ex)
{ LogHelper.Info(this, ex);
tran.Rollback();
result = false;
} return result;
}
}
#endregion
EF增删库查的更多相关文章
- 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理
库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...
- EF扩展库(批量操作)
EF删除和修改数据只能先从数据库取出,然后再进行删除 delete from Table1 where Id>5; update Table1 set Age=10; 我们需要这样操作 //删除 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...
- 分享一个自己写的MVC+EF “增删改查” 无刷新分页程序
分享一个自己写的MVC+EF “增删改查” 无刷新分页程序 一.项目之前得添加几个组件artDialog.MVCPager.kindeditor-4.0.先上几个效果图. 1.首先建立一个数 ...
- EF 跨库查询
原因:最近公司项目,遇到一个ef跨库查询的问题.(只是跨库,并不是跨服务器哈) 主要我们的一些数据,譬如地址,城市需要查询公共资料库. 但是本身我的程序设计采用的是ef框架的.因此为这事花费了1天时间 ...
- 【EF】EF扩展库(批量操作)
EF删除和修改数据只能先从数据库取出,然后再进行删除 delete from Table1 where Id>5; update Table1 set Age=10; 我们需要这样操作 //删除 ...
- WPF MVVM+EF增删改查 简单示例(二) 1对1 映射
WPF MVVM+EF增删改查 简单示例(一)实现了对学生信息的管理. 现在需求发生变更,在录入学生资料的时候同时需要录入学生的图片信息,并且一名学生只能有一张图片资料.并可对学生的图片资料进行更新. ...
- Mybatis入门——基础方式的增删该查、mapper动态代理方式的CRUD、类型转换器
一.基础方式的增删该查: 1.mybatis约定:输入参数parameterType和输出参数resulrType在形式上只能有一个. 2.如果输入/输出参数:是简单类型(8个基本类型加String) ...
- EF里单个实体的增查改删以及主从表关联数据的各种增删 改查
本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...
随机推荐
- spider RPC框架的需求来源与特性介绍(一)
spider RPC 特性介绍 spider RPC 性能测试 spider RPC 入门指南 spider RPC 配置文件参考 spider RPC 开发指南 spider RPC 安全性 spi ...
- Linux(十)___iptables防火墙
一.防火墙的作用 三.防火墙的分类 三.iptables基本语法: 表: 常用filter,nat用于地址映射转换. 配置文件: /etc/sysconfig/iptables 过滤表信息 . 查看i ...
- JAVA 问题集中之处以及解决的办法
也许当你看的时候,你可能认为这些都是简单的问题,有什么好记的.其实不是,我认为,我们往往是因为粗心而造成的错误,当你在开发中碰到这些问题时,你能一下看出来是什么错误,达到提高效率.而且往往你把小的问题 ...
- Mybatis环境
第一步:下载jar包并导入 1.mysql驱动包 2.mybatis环境包 第二步:创建MYSQL数据库 由于这是用于测试,只创建了test-usreinfo数据表 第三步:在src文件夹中创建myb ...
- JS框架
s框架就是将常用的方法进行封装,方便调取使用.一个框架是一个可复用的设计构件,它规定了应用的体系结构,阐明了整个设计.协作构件之间的依赖关系.责任分配和控制流程,表现为一组抽象类以及其实例之间协作的方 ...
- SQL中EXISTS的使用
1.简介 不相关子查询:子查询的查询条件不依赖于父查询的称为不相关子查询. 相关子查询:子查询的查询条件依赖于外层父查询的某个属性值的称为相关子查询,带EXISTS 的子查询就是相关子查询 EXIST ...
- Elasticsearch 调优 (官方文档How To)
How To Elasticsearch默认是提供了一个非常简单的即开即用体验.用户无需修改什么配置就可以直接使用全文检索.结果高亮.聚合.索引功能. 但是想在项目中使用高性能的Elasticsear ...
- 【linux】free命令中cached和buffers的区别
一.命令 [root@localhost ~]# free -m total used free shared buffers cached Mem: 7869 7651 218 1 191 5081 ...
- Spring MVC之@RequestMapping 详解
(转自:http://blog.csdn.net/walkerjong/article/details/7994326) 引言: 前段时间项目中用到了RESTful模式来开发程序,但是当用POST.P ...
- android px转换为dip/dp
/** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public int dipTopx(Context context, float dpValue) { final floa ...