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里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...
随机推荐
- php实现设计模式之 策略模式
策略模式:定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化.是一种行为模式. 策略模式包含三种角色 1 抽象策略角色: 策略类,通常由一个接口或 ...
- 《连载 | 物联网框架ServerSuperIO教程》- 9. 协议过滤器,解决一包多发、粘包、冗余数据
1.C#跨平台物联网通讯框架ServerSuperIO(SSIO)介绍 <连载 | 物联网框架ServerSuperIO教程>1.4种通讯模式机制. <连载 | 物联网框架Serve ...
- JVM调优总结
堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64为操作 ...
- Eclipse(一)
Eclipse的初步学习
- Dynamics CRM 之ADFS 使用 SQL Server 的联合服务器场
此拓扑用于 Active Directory 联合身份验证服务 (AD FS) 不同于使用 Windows 内部数据库 (WID) 部署拓扑,因为不会将数据复制到每台联合服务器场中的联合身份验证服务器 ...
- Smart Tag——DevExpress WPF初探
Smart Tag是一个设计时扩展,所有标准控件均自带这个功能,当然也包括 DevExpress WPF Controls .可以快速设置控件的值或者绑定最重要的属性.它还可以帮助你完成一些重复的工作 ...
- Android 命令行执行工具类
最近在做android项目的时候,需要执行命令行命令,之前在网上找的不仅杂乱而且错误多,于是自己写了一份. 话不多说,直接上代码 import android.util.Log; import jav ...
- 关于Android中的三级缓存
三级缓存的提出就是为了提升用户体验.当我们第一次打开应用获取图片时,先到网络去下载图片,然后依次存入内存缓存,磁盘缓存,当我们再一次需要用到刚才下载的这张图片时,就不需要再重复的到网络上去下载,直接可 ...
- kindle型号
这篇文章为 Kindle 新手解决三个问题:怎么辨别Kindle 型号?通过 Kindle 外观判断准确吗?Kindle序列号在那里? 贴吧吧友提问的原话"在咸鱼看到一台,那哥们说也不知道K ...
- [Erlang 0113] Elixir 编译流程梳理
注意:目前Elixir版本还不稳定,代码调整较大,本文随时失效 之前简单演示过如何从elixir ex代码生成并运行Erlang代码,下面仔细梳理一遍elixir文件的编译过程,书接上文,从 ...