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里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...
随机推荐
- smarty模块引擎
- mysql 触发器
触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发, 比如当 ...
- T-SQL 如何获取一个表的列名
方法1: exec sp_columns [{table_name}],[{schema_name}] 方法2: SELECT * FROM syscolumns WHERE id=OBJECT_ID ...
- Debain下解决sublime无法输入中文
sublime安装的方法在此不做过多介绍,网上有很多中教程的方式.本文描述在已经安装sublime的前提下如何输入中文. 1.保存下面的代码到文件sublime_imfix.c(位于~目录) #inc ...
- Keepalived+LVS+nginx双机热备
Keepalived简介 什么是Keepalived呢,keepalived观其名可知,保持存活,在网络里面就是保持在线了, 也就是所谓的高可用或热备,用来防止单点故障的发生. Keepalived采 ...
- 萌新笔记——git的问题(error: object file .git/objects/* is empty...)的解决方案及对git版本库文件的了解
由于操作不当,导致git版本库出了大问题,如下所示: error: object file .git/objects/8b/61d0135d3195966b443f6c73fb68466264c68e ...
- 腾讯php经历
12年毕业至今,一年C#,2年php,几个月node,因为一些原因再次离职,接到腾讯互娱的php面试电话,匆匆准备了一番,便去了科兴科技园腾讯的高大上办公楼. 1.笔试 试题大部分网上都有,例如: 用 ...
- 切换“使用被动式FTP”
-- 本文版权归博客园和dige1993所有,访问作者博客 -- 最近用Dreamweaver做了几个网页,打算上传到远程FTP服务器的时候,同步文件和连接FTP服务器时总是超时出错,一直处在&quo ...
- java 线程池——异步任务
一.简单粗暴的线程 最原始的方式,当我们要并行的或者异步的执行一个任务的时候,我们会直接使用启动一个线程的方式,如下面所示: new Thread(new Runnable() { @Override ...
- 【转】XenServer架构之XAPI
一.XAPI对资源池的管理 作为XenServer的管理工具集,XAPI管理XenServer的主机,网络和存储.不管是OpenStack还是CloudStack,如果使用XenServer作为虚拟化 ...