首页 > 其他分享 >ef6 常用方法

ef6 常用方法

时间:2024-12-13 09:33:35浏览次数:3  
标签:常用 Sum t2 ef6 dbEntry invoice var null 方法

#ef6 左连接写法--from baidu

 

using (var context = new DbContext())
{
	var query = from t1 in context.LeftTable
	join t2 in context.RightTable on t1.Id equals t2.LeftId into temp
	from t2 in temp.DefaultIfEmpty()
	select new
	{
		LeftItemId = t1.Id,
		LeftItemName = t1.Name,
		RightItemId = t2 != null ? t2.Id : (int?)null,
		RightItemName = t2 != null ? t2.Name : (string)null
	};
	 
	var results = query.ToList();
}

  

  #分组 合计     #
var invoices2 = await _dbContext.Beneficiaries
.Where(dbEntry => dbEntry.Id == beneficiaryId && dbEntry.ProviderId == providerId)
.SelectMany(dbEntry => dbEntry.Invoices
.GroupBy(dbEntry => dbEntry.IssueDate.Month)
.Select(dbEntry => new
{
	IssueMonth = dbEntry.Key,
	VAT = dbEntry.Sum(invoice => invoice.VAT),
	TotalPay = dbEntry.Sum(invoice => invoice.InvoiceEntries.Sum(entry => entry.DelegateHourlyRate)),
	TotalSell = dbEntry.Sum(invoice => invoice.InvoiceEntries.Sum(entry => entry.BeneficiaryHourlyRate))
}))
.Where(group => group.IssueMonth <= _todayDate.UtcNow.Month && group.IssueMonth >= _todayDate.UtcNow.Month - (int)by)
.ToListAsync();

  

 

标签:常用,Sum,t2,ef6,dbEntry,invoice,var,null,方法
From: https://www.cnblogs.com/ijunxiong/p/18604169

相关文章

  • 写一个方法将字符串中的制表符全部替换为逗号
    functionreplaceTabsWithCommas(str){//方法一:使用replaceAll()(最简洁)returnstr.replaceAll('\t',',');//方法二:使用正则表达式和replace()//returnstr.replace(/\t/g,',');//方法三:使用split()和join()(适用于旧版浏览器,兼容性最好)/......
  • C++ STL常用容器之deque&list
    文章目录一、序列式容器二、双端队列deque2.1容器属性2.2Deque特点三、迭代器操作3.1使用迭代器完成3.2迭代器函数四、双向链表list4.1容器属性4.2list特点4.3相比vector新增函数五、vectordequelist之间的区别六、vector&deque&list之间的转换一、序列......
  • 字符串从哪里来的split方法和length属性?
    在前端开发中,字符串的split()方法和length属性都来自于JavaScript的String对象。它们是JavaScript内置的字符串处理方法和属性,并非来自任何特定的框架或库。split()方法:这个方法用于将一个字符串分割成一个字符串数组。分割是基于你提供的分隔符进行的。如果......
  • 写一个方法,批量删除指定索引的数组元素
    /***批量删除数组中指定索引的元素。**@param{Array}arr原数组*@param{Array<number>}indices要删除的元素的索引数组,必须按升序排列*@returns{Array}删除元素后的新数组,不会修改原数组*/functionremoveElementsAtIndexes(arr,indices){if(!Array......
  • 鸿蒙Next状态变量Watch使用方法总结
    一、@Watch装饰器概述@Watch装饰器用于监听状态变量的变化,当被装饰的状态变量发生改变时,会触发对应的回调函数执行。其在ArkUI框架内部基于严格相等(===)来判断数值是否更新,仅当严格相等判断为false时,才会触发回调。这为开发者提供了一种有效的方式来响应状态变量的变化,从而实现应......
  • Java 中枚举的 toString`方法及其字段信息展示
    在Java编程中,枚举(enum)是一种特殊的数据类型,用于定义一组固定的常量。枚举类型不仅限于简单的常量定义,还可以包含字段、方法以及构造函数,从而使其具备更强的表达能力。toString方法是Java中所有对象都继承自Object类的一个方法,用于返回对象的字符串表示。对于枚举类型,默认情......
  • 方法
          ......
  • xpath定位方法详解
    '''xpath定位方法详解:推荐手写xpath,复制的容易报错。xpath是基于元素存在的路径进行定位,所以分为绝对路径和相对路径两种语法结构。绝对路径:不推荐,除非找不到其他解决办法。示例:/html/body/div[1]/div[2]/div[5]/div[1]/div/form/span[1]/input......
  • 显示浮动式窗口的方法
    文章目录1概念介绍2使用方法3示例代码我们在上一章回中介绍了AlertDialogWidget相关的内容,本章回中将介绍BottomSheetWidget.闲话休提,让我们一起TalkFlutter吧。1概念介绍我们在这里说的BottomSheet是一种弹出式窗口,和上一章回中介绍的AlertDialog类......
  • C#中虚方法和抽象方法的区别
    在C#中,虚方法(VirtualMethod)和抽象方法(AbstractMethod)都是面向对象编程中用于实现多态性的机制,但它们有一些关键的区别。以下是它们的主要区别:虚方法:有实现,可以在派生类中重写。包含虚方法的类可以实例化。抽象方法:没有实现,必须在派生类中实现。包含抽象方法的类必须是抽......