草庐IT

LINQ_ENABLED

全部标签

c# - Linq 选择所有项目匹配数组

我有一个IEnumerable类型的数据集合包含各种雇员的劳动记录。我希望过滤列表并仅返回选定员工的记录,这些记录由int[]employees列表指定包含EmployeeIDclassLabourHours{publicintID{get;set;}publicintEmployeeID{get;set;}publicintHoursWorked{get;set;}}我该怎么做?我确定之前有人问过这个问题,但我在这里找不到类似的东西。我发现最接近的涉及按UserID对记录进行分组,这不是我需要的-我需要实际记录。 最佳答案 您可以

c# - "do"/Action LINQ 运算符有什么计划吗?

这是一个带有foreach循环的简单方法:IEnumerableFieldsToXElements(objectinstance){varfieldElements=newList();foreach(varfieldininstance.GetType().GetFields(instance)){fieldElements.Add(newXElement(field.Name,field.GetValue(instance)));}returnfieldElements;}有点丑。如果LINQ中有一些运算符表示“做某事”(例如,为LINQ语句中的每个选定项执行Action),它看起

c# - Linq to Entities删除

是否有使用主键使用LinqtoEntites进行删除的内置方法。目前的解决方法是创建一个名为DeleteTable的存储过程(表是表名)然后在C#LINQToEntities中我只执行context.DeleteTable(ID)这是最好的方法吗?还有哪些其他选择? 最佳答案 如果您不想去数据库检索对象的所有字段,您可以创建该类的一个新实例,将其附加到一个新的上下文,删除它,然后保存更改。这让EF生成适当的删除命令。using(varcontext=newMyContext()){varmyObject=newMyObject{ID

c# - LINQ:如果没有元素,All() 返回什么?

这是一个非常简单的问题,但“全部”对于谷歌大声笑来说是一个糟糕的关键字。我想获取所有类别,其产品都没有更新,或者没有任何产品。换句话说,获取所有类别,其中所有产品尚未更新,包括所有尚未有任何产品的类别。这是正确的表达方式吗?varcategs=context.Categories.Where(c=>c.Products.All(x=>!x.Updated)); 最佳答案 它返回true。来自documentation(强调我的):Returnvaluetrueifeveryelementofthesourcesequencepass

c# - 使用 GroupBy 和 Average 将 SQL 转换为 lambda LINQ

我花了几个小时尝试将简单的SQL转换为lambdaLINQSELECTID,AVG(Score)FROMmyTableGROUPBYID有什么想法吗? 最佳答案 fromtinmyTablegrouptbynew{t.ID}intogselectnew{Average=g.Average(p=>p.Score),g.Key.ID}或LambdamyTable.GroupBy(t=>new{ID=t.ID}).Select(g=>new{Average=g.Average(p=>p.Score),ID=g.Key.ID})

c# - 是否可以使用 Linq 获取列表列表中的项目总数?

我们有一个简单的结构,它只是一个列表的列表,就像这样......varfooInfo=newList>();我想知道是否有一种简单的方法可以使用linq返回内部列表中所有项目的总数。例如,如果我们有这个...fooInfo.add(newList());//FirstlistwithintheouterlistfooInfo.add(newList());//SecondlistwithintheouterlistfooInfo.add(newList());//Thirdlistwithintheouterlist//Addtwoitemstothefirstinnerlistfoo

c# - AsNoTracking 使用 LINQ 查询语法而不是方法语法

我有兴趣在我的LINQ选择查询中使用AsNoTracking来提高性能。我将EntityFramework5与CodeFirst结合使用。但是,我的所有查询都是使用LINQ查询语法编写的,并且所有AsNoTracking示例都是使用Method语法显示的。我知道AsNoTracking是为Method语法创建的,但如何使用Query语法实现相同的目的? 最佳答案 您将AsNoTracking()应用于DbSet:varresult=(frompersoninctx.People.AsNoTracking()selectperson)

c# - 具有多个where参数的linq to sql查询

我目前正在使用EntityFramework在ASP.NETMVC4中编写搜索功能。然而,我遇到了一个障碍,我只能找到“坏”的解决方案。我的搜索函数返回一个包含4个参数的模型:StringNameStringStreetStringCodeStringProvinceListquery=(fromtinModelselectt).ToList();现在我想过滤我的搜索输入。但是,用户可以决定填写尽可能多的搜索字段。他可以决定使用姓名和街道,或姓名、街道和省份,或...我能找到的唯一真正的解决方案是使我的查询和IQueryable检查一个字段是否已经用if填充,然后使用.Where更新查

c# - linq中的简单选择查询

假设我有一张学生表,我想显示ID为1的学生。SELECT*FROMSTUDENTSTWHEREST.ID=1这就是我在Linq中实现这一目标的方式。StudentQuery=fromrinoStudentDataTable.AsEnumerable()where(r.Field("ID")==1)selectr;oStudentDataTable=StudentQuery.CopyToDataTable();但是如果我想显示这些id为1,2,3,4,5..的学生怎么办SELECT*FROMSTUDENTSTWHEREST.IDIN(1,2,3,4,5)如何在Linq中实现这一点?

c# - Linq Getting Customers 按日期分组,然后按类型分组

我正在使用C#中的LINQ生成报告以向客户展示。我想显示没有。每种类型的客户。注册的客户有客人和经理三种类型。我想按客户注册日期分组,然后按客户类型分组。即,如果今天插入了3位客人、4位注册人和2位经理。明天4,5和6分别注册。然后报告应显示当天注册的客户数量。每种类型单独一行。DATETYPEOFCUSTOMERCOUNT31-10-2013GUEST331-10-2013REGISTERED431-10-2013MANAGER230-10-2013GUEST530-10-2013REGISTERED1030-10-2013MANAGER3像这样。varsubquery=fromea