草庐IT

c# - 使用 LINQ to Entities 向表中插入多条记录的正确方法

正如我们许多人所做的那样,我设置了一个简单的循环来从数据库中添加多条记录。一个典型的例子是这样的:方法一://AlistofproductpricesListprices=newList{1,2,3};NorthwindEntitiesNWEntities=newNorthwindEntities();foreach(intpriceinprices){ProductnewProduct=newProduct();newProduct.Price=price;NWEntities.Products.AddObject(newProduct);}NWEntities.SaveChange

c# - 使用 LINQ 透视数据

我有一个项目集合,其中包含一个枚举(TypeCode)和一个用户对象,我需要将其展平以显示在网格中。这很难解释,所以让我举一个简单的例子。集合中有这样的项目:TypeCode|User---------------1|DonSmith1|MikeJones1|JamesRay2|TomRizzo2|AlexHomes3|AndyBates我需要的输出是:1|2|3DonSmith|TomRizzo|AndyBatesMikeJones|AlexHomes|JamesRay||我尝试过使用foreach执行此操作,但我不能那样做,因为我会向foreach中的集合插入新项目,从而导致错误。

c# - 如何将 sql union 转换为 linq

我有以下使用联合的TransactSQL查询。我需要一些关于这在LINQ中的外观的指示,即一些示例会很好,或者如果有人可以在linq中推荐一个关于UNIONS的好教程。selecttop10Barcode,sum(ItemDiscountUnion.AmountTaken)from(SELECTd.Barcode,SUM(AmountTaken)AmountTakenFROM[Aggregation].[dbo].[DiscountPromotion]dGROUPBYd.BarcodeUNIONALLSELECTi.Barcode,SUM(AmountTaken)AmountTaken

c# - 如何在 LINQ 中的列上使用 DATEADD - LINQ 无法识别 DateAdd

我正在尝试使不到30天前回复的友谊请求无效。varrequestIgnored=context.Request.Where(c=>c.IdRequest==result.IdRequest&&c.IdRequestTypes==1&&c.Accepted==false&&DateTime.Nowc.DateResponse是DateTime?类型。我遇到的错误是:LINQdoesnotrecognizethecommand.AddDays 最佳答案 编辑:如果您使用的是EntityFramework>=6.0,请使用DbFuncti

c# - 如何使用 LINQ 选择一个对象?

我有这样的数据:UserId|SongId----------------1114112295我还有以下类(class):classSongsForUser{publicintUser;publicListSongs;}我想做的是使用LINQ从我的数据中选择以创建SongsForUser对象的集合。以下是我到目前为止的想法:varuserCombos=songs.UserSongs.Select(x=>newSongsForUser(){User=x.UserId,Songs=/*Whatgoeshere?*/});我将如何填充我的Songs列表?所以结果应该是两个SongsForUs

c# - LINQ - FirstOrDefault() 然后 Select()

我有以下LINQ查询,它在FirstOrDefault()返回null时触发异常。理想情况下,我想避免空检查。有没有办法做到这一点?如果没有满足FirstOrDefault()调用的CPOffsets,我希望返回0。doubleoffset=OrderedOffsets.FirstOrDefault(o=>o.OffsetDateTime>cpTime).CPOffset;我能看到实现此目的的唯一方法如下:CPOffsetcpOffset=OrderedOffsets.FirstOrDefault(o=>o.OffsetDateTime>cpTime);doubleoffset=cpO

c# - Linq 过滤器 List<string> 其中包含来自另一个 List<string> 的字符串值

我有2个列表对象(简化):varfileList=Directory.EnumerateFiles(baseSourceFolderStr,fileNameStartStr+"*",SearchOption.AllDirectories);varfilterList=newList();filterList.Add("ThisFolderName");filterList.Add("ThatFolderName");我想过滤fileLst以仅返回包含filterList中任何文件夹名称的文件。(我希望这是有道理的..)我试过下面的表达式,但这总是返回一个空列表。varfilteredF

c# - LINQ 选择字典

我正在尝试拍摄Select并将每个元素投影到Dictionary中我目前有一个Select只是转换出Dictionary的值(value)到列表tasks类型UdpReceiveResult.clients是Dictionary类型的字典.我有vartasks=clients.Select(c=>c.Value.ReceiveAsync()).OrderByCompletion();我想转换key和ReceiveAsync()结果变成一个新的Dictionary.OrderByCompletion来自Nito.AsyncExdll。 最佳答案

C# - 带有 OR 子句的 LINQ 语句

我正在尝试使用LINQ返回处于三种状态之一的任务列表。这些状态是:10-完成11-不完整12-跳过状态可通过名为“TaskStateID”的属性获得。我可以在LINQ中仅使用一种状态来执行此操作,如下所示:varfilteredTasks=fromtaskintasksselecttask;//DostuffwithfilteredtasksstringselectedComboBoxValue=GetFilterComboBoxValue();if(selectedComboBoxValue==3){filteredTasks=filteredTasks.Where(p=>p.Tas

c# - 比较两个列表并使用 linq 返回不匹配的项目

我有两个列表ListSentList;ListMsgList;两者都具有相同的属性MsgID;MsgListSentListMsgIDContentMsgIDContentStauts1aaa1aaa02bbb3ccc03ccc4ddd5eee我想使用linq将Msglist中的MsgID与发送列表进行比较,并需要不在发送列表中的项目ResultMsgIDContent2bbb4ddd5eee 最佳答案 你可以这样做:HashSetsentIDs=newHashSet(SentList.Select(s=>s.MsgID));var