Linq语法学习_增删篇。
关键词:
select
from
where
in
into
join
on
equals
orderby
descending
thenby
Table<TEntity>
DefaultIfEmpty();
submitChanges();
DeleteOnSubmit();
DeleteAllOnSubmit();
InsertAllOnSubmit();
常用1
/// <summary>报销单是否被增值税引用
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public bool IsRefWithholding(string id)
{
var isRefWithholding = (from wh in _dataContext.Withholdings
join clp in _dataContext.ClaimSheetBaseInProjects on wh.ClaimSheetBaseInProjectId equals clp.Id
join cl in _dataContext.ClaimSheetBases on clp.bxdId equals cl.Id
where cl.Id == id
select wh).Count() > ;
return isRefWithholding;
}
修改用例:
public void UpdateClaimSheetBaseForFrozen(ClaimSheetBaseDto item)
{
_dataContext.CommandTimeout = ;
if (item != null)
{
var claimSheetBase = _dataContext.ClaimSheetBases.Single(a => a.Id.Equals(item.Id));
claimSheetBase.IsFrozen = item.IsFrozen;
claimSheetBase.FrozenCode = item.FrozenCode;
_dataContext.SubmitChanges();
}
}
删除用例:
public void DelectProjectPay(ClaimSheetBaseDto item)
{
if (item.IsMulPay.Equals(true))
{ var projectPay = _dataContext.ProjectPay.Where(o => o.ClaimSheetBaseId == item.Id);
if (item.PaymentByReverseDto != null)
{
_dataContext.ProjectPay.DeleteAllOnSubmit(projectPay);
}
}
}
增加用例:
/// <summary>添加附件
/// 先删除后增加
/// </summary>
/// <param name="claimSheetBaseId"></param>
/// <param name="?"></param>
/// <returns></returns>
public bool AddAttachmentWB(ClaimSheetBaseDto item)
{
if (item.AttachmentDtos != null)
{
var attachments = _dataContext.AttachmentWB.Where(a => a.ClaimSheetBaseId.Equals(item.Id));
if (attachments != null && attachments.Count() > )
{
_dataContext.AttachmentWB.DeleteAllOnSubmit(attachments);
}
var attachmentDtos = new List<AttachmentWB>();
foreach (var attachment in item.AttachmentDtos)
{
attachmentDtos.Add(RePackAttachment(attachment));
} _dataContext.AttachmentWB.InsertAllOnSubmit(attachmentDtos);
}
_dataContext.SubmitChanges();
return true; }
Linq语法学习_增删篇。的更多相关文章
- labview学习_入门篇(一)
写在前面的话: 在上大学的时候,实验室的老师推荐用labview工具编写上位机软件,当时不想用labview,感觉不写代码心里不踏实,后来用vb和matalb开发了上位机软件.但现在由于部门的几款工具 ...
- Linq语法学习
关键词: select from where in into join on equals orderby descending DefaultIfEmpty() thenby submitChang ...
- verilog入门语法学习-第1篇
1. 如何观察被测模块的响应: 在initial 块中,用系统任务$time 和 $monitor $time 返回当前的仿真时刻 $monitor 只要在其变量列表中有某一个或某几个变 量值发生变化 ...
- Linq语法详细
闲言碎语 近期比较忙,但还是想写点什么,就分享一些基础的知识给大家看吧,希望能帮助一些linq新手,如果有其它疑问,可以进右上角群,进行交流探讨,谢谢. 开门见山 读这篇文章之前,我先说下,每一种搜索 ...
- PHP学习笔记 - 入门篇(5)
PHP学习笔记 - 入门篇(5) 语言结构语句 顺序结构 eg: <?php $shoesPrice = 49; //鞋子单价 $shoesNum = 1; //鞋子数量 $shoesMoney ...
- Linq语法
希望能帮助一些linq新手. 开门见山 读这篇文章之前,我先说下,每一种搜索结果集,我都以三种方式变现出来,为啦更好的理解,希望不要嫌我啰嗦. 1.简单的linq语法 //1 var ss = fro ...
- Linq语法常见普通语法
闲言碎语 近期比较忙,但还是想写点什么,就分享一些基础的知识给大家看吧,希望能帮助一些linq新手,如果有其它疑问,可以进右上角群,进行交流探讨,谢谢. 开门见山 读这篇文章之前,我先说下,每一种搜索 ...
- Golang 语法学习笔记
Golang 语法学习笔记 包.变量和函数. 包 每个 Go 程序都是由包组成的. 程序运行的入口是包 main. 包名与导入路径的最后一个目录一致."math/rand" 包由 ...
- 一步步学习javascript基础篇(3):Object、Function等引用类型
我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...
随机推荐
- prototype for '类名::函数名'does not match any in class'类名'
函数声明和定义参数类型必须相同. 前置声明一定要放到名称空间内,代表该名称空间内的类.
- 《剑指offer》面试题21—包含min函数的栈
题目:定义栈数据结构,并在该数据结构中实现一个能获得栈最小元素的函数min.要求push,min,pop时间都是O(1). 思路:要用一个辅助栈,每次有新元素压栈时辅助栈压入当前最小元素:min函数直 ...
- uoj#340. 【清华集训2017】小 Y 和恐怖的奴隶主(矩阵加速)
传送门 uoj上的数据太毒了--也可能是我人傻常数大的缘故-- 三种血量的奴隶主加起来不超过\(8\)个,可以枚举每种血量的奴隶主个数,那么总的状态数只有\(165\)种,设\(dp_{t,i,j,k ...
- 【SQL】关系数据库概念及数据模型和关系模型
一.关系数据库 目前关系数据库是数据库应用的主流,许多数据库管理系统的数据模型都是基于关系数据模型开发的. 1)关系数据库:在一个给定的应用领域中,所有实体及实体之间联系的集合构成一个关系数据库. 2 ...
- django中的ORM与 应用与补充
目录 django中的ORM与 应用与补充 ORM与数据的对应关系 ORM 常用字段 ORM 其他字段 自定义字段 字段参数 Model Meta参数 常用13中查询(必会) 单表查询的双下划线应用 ...
- 实验一 用户界面与Shell命令
一.实验课时:2学时 二.实验目的 v 熟悉redhat_linux的用户界面,会进行常用的系统设置. v 掌握常用的shell命令. 三.实验环境 v 运行Windows xp\2000\20 ...
- STP-12-MST工作原理
MST将网络划分为一或多个区域.一个MST区域是一组以相同方式共同使用MST的交换机——除了其他特性外,它们运行相同数量的MST实例,并在这些实例上映射相同的VLAN集合. 例如,在下图中,工程师定义 ...
- CC36:平分的直线
题目 在二维平面上,有两个正方形,请找出一条直线,能够将这两个正方形对半分.假定正方形的上下两条边与x轴平行. 给定两个vecotrA和B,分别为两个正方形的四个顶点.请返回一个vector,代表所求 ...
- js 获取两个日期相差的天数--自定义方法
//获取两个日期的相差天数 datedifference=function(sDate1, sDate2) { var dateSpan, tempDate, iDays; sDate1 = Date ...
- C# 数组之List<T>
一.引言 List<T>是ArrayList的泛型等效类,底层数据结构也是数组. 相比Array而言,可以动态的拓展数组长度.增删数据 相比ArrayList而言,由于声明的时候就已经规定 ...