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增删库查的更多相关文章

  1. 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理

    库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...

  2. EF扩展库(批量操作)

    EF删除和修改数据只能先从数据库取出,然后再进行删除 delete from Table1 where Id>5; update Table1 set Age=10; 我们需要这样操作 //删除 ...

  3. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(5)-EF增删改查by糟糕的代码 上一讲我们创建了一系列的解决方案,我们通过一个例子来看看层与层之间的关系 ...

  4. 分享一个自己写的MVC+EF “增删改查” 无刷新分页程序

    分享一个自己写的MVC+EF “增删改查” 无刷新分页程序 一.项目之前得添加几个组件artDialog.MVCPager.kindeditor-4.0.先上几个效果图.      1.首先建立一个数 ...

  5. EF 跨库查询

    原因:最近公司项目,遇到一个ef跨库查询的问题.(只是跨库,并不是跨服务器哈) 主要我们的一些数据,譬如地址,城市需要查询公共资料库. 但是本身我的程序设计采用的是ef框架的.因此为这事花费了1天时间 ...

  6. 【EF】EF扩展库(批量操作)

    EF删除和修改数据只能先从数据库取出,然后再进行删除 delete from Table1 where Id>5; update Table1 set Age=10; 我们需要这样操作 //删除 ...

  7. WPF MVVM+EF增删改查 简单示例(二) 1对1 映射

    WPF MVVM+EF增删改查 简单示例(一)实现了对学生信息的管理. 现在需求发生变更,在录入学生资料的时候同时需要录入学生的图片信息,并且一名学生只能有一张图片资料.并可对学生的图片资料进行更新. ...

  8. Mybatis入门——基础方式的增删该查、mapper动态代理方式的CRUD、类型转换器

    一.基础方式的增删该查: 1.mybatis约定:输入参数parameterType和输出参数resulrType在形式上只能有一个. 2.如果输入/输出参数:是简单类型(8个基本类型加String) ...

  9. EF里单个实体的增查改删以及主从表关联数据的各种增删 改查

    本文目录 EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...

随机推荐

  1. Andriod 自定义控件之创建可以复用的组合控件

    前面已学习了一种自定义控件的实现,是Andriod 自定义控件之音频条,还没学习的同学可以学习下,学习了的同学也要去温习下,一定要自己完全的掌握了,再继续学习,贪多嚼不烂可不是好的学习方法,我们争取学 ...

  2. Resharper的配置和使用

    一:Reshaper简介 Reshaper是C#开发IDE工具Visual Studio的一款第三方插件,Reshaper让 VS 变得更强大.优势是:它提供了一些在 VS 基础上更方便于程序员开发的 ...

  3. 原创 C++作用域 (一)

    1概述 在所有的计算机程序中,一个基本的目标是操作一些数据,然后获得一些结果.为了操作这些数据,需要为这些数据分配一段内存,我们可以将这段内存称为变量.为了方便操作,以及程序可读性方面的考虑,需要使用 ...

  4. 无刷新读取数据库 (ajax)

    <html> <head> <script type="text/javascript"> function loadXMLDoc() { va ...

  5. Track 造成Goldengate abended的那条record

    Email收到了这样的报错: 2016-12-07 02:52:22  WARNING OGG-01004  Aborted grouped transaction on 'MSP.USER_ACTI ...

  6. oracle 自增长序列

    create or replace TRIGGER "METTINGUSER".TRG_PREPN BEFORE INSERT ON "PREPROJFUN" ...

  7. Windows Server 2012 虚拟化实战:网络(二)

    关于Windows Server的虚拟化网络,前文描述了在操作系统层面上的出现的配置变化.其中的一些配置通过Windows Server提供的小工具即可实现,如网卡组的配置,而有些需要安装Window ...

  8. 创建docker私人仓库

    关于创建docker私人仓库 1.1.           安装步骤 1.1.1.            直接从公共库上面下载register镜像在本地执行 1.1.1.1.             ...

  9. HAProxy介绍

    简单说明 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web站点,这些站点通常又需 ...

  10. [iOS]技巧集锦:UICollectionView在旋转屏幕后Cell中的约束不起作用或自动布局失效

    这似乎是iOS的一个BUG(ref: stackoverflow的大神们讲的) 解决方案 在继承自UITableViewCell的子类中的init方法中加入如下设置: self.contentView ...