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里主从表关联数据的各种增删改查 增加(增加从表数据.增加主从表数据) 查询(根据主表找从表数据.根据从表 ...
随机推荐
- Atitit java集成内嵌浏览器与外嵌浏览器attilax总结
Atitit java集成内嵌浏览器与外嵌浏览器attilax总结 HTML5将颠覆原生App世界.这听起来有点危言耸听,但若认真分析HTML5的发展史,你会发现,这个世界的发展趋势确实就是这样. 熟 ...
- CSS布局 -- 圣杯布局 & 双飞翼布局
按照我的理解,其实圣杯布局跟双飞翼布局的实现,目的都是左右两栏固定宽度,中间部分自适应. 但在这里实现起来还是有一些区别的 [圣杯布局] 在这里,实现了左(200px) 右(220px) 宽度固定,中 ...
- Android 7.0 Nougat牛轧糖 发布啦
Android 7.0 Nougat牛轧糖 发布啦 Android 7.0 Nougat 牛轧糖于本月发布了. 从官方blog里可以了解到这个版本的新特性. Android 7.0 从2016年8月正 ...
- IO流总结
IO流的作用:用于设备和设备之间的数据传输. IO流的概念:流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象. IO流的分类: 按照操作数据的类型分为两种: 字节流和字符流. 按 ...
- ZooKeeper:Java客户端网络处理
了解ZooKeeper客户端的实现,对于使用ZooKeeper的客户端非常重要. 通过对客户端源码的阅读,了解了如下信息: 创建ZooKeeper对象时,应会创建一个ClientCnxn(代表了客户端 ...
- Oracle学习笔记八 表空间
表空间 表空间是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间 . 分区表 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下 ...
- Masonry和FDTemplateLayoutCell 结合使用示例Demo
我们知道,界面布局可以用Storyboard或Xib结合Autolayout实现,如果用纯代码布局,比较热门的有Masonry.SDAutoLayout,下面的简单demo,采用纯代码布局,实现不定高 ...
- .NET判断是否为AJAX提交
AJAX异步方式请求比同步方式请求HTTP头部多一个 X-Requested-With 直接影响 C#中 Request.IsAjaxRequest() 的判断,同步方式判断为false 当然也可以自 ...
- 【只需3步】源码手动安装Apache以及配置(亲测可行)
作者小波/QQ463431476欢迎转载! redhat6采用centos yum源. 第一步下载apache依赖的软件包并安装 安装 apr下载地址:http://apr.apache.org/do ...
- 安装centos后无法引导启动windows7的解决方法
在电脑Windows7系统上安装Centos7,安装后找不到Windows7引导菜单. 原因:因为CentOS 7已采用新式的grub2系统,所以需要进入/boot/grub2目录后使用vi编辑gru ...