我有一个运动对象,它有一个ID和一个类别。为了解决这个问题,让我们假设它看起来是这样的:
public class Exercise
{
public int ID;
public string category;
}
ID是唯一的,类别不是。
我想用Linq将习题按类别分组,然后根据类别的ID对每个类别中的练习进行排序。类别的顺序也应该基于ID,第一个练习的类别应该始终是分组后的第一个类别。(换句话说,组的顺序应该由每个组中第一个对象的ID来确定,这些ID的顺序应该与组的顺序相匹配。)
示例:
{ ID: 1, category: "C#" }
{ ID: 2
我正试图在C#中构造一个LINQ查询,该查询将从数据集中的列中给出一个不同值的列表,并对每一行进行计数。结果会是这样的。
State Count
AL 55
AK 40
AZ 2
下面是执行此操作的SQL。
SELECT name, COUNT(*) AS count
FROM architecture arch
GROUP BY name
ORDER BY name
我已经计算出LINQ来得到不同的值,也就是。
var query = ds.Tables[0].AsEnumerable()
.OrderBy(dr1 => dr
我需要根据某一分布组成一个大的元素列表。在C#中,是否可以在对象列表中使用“where”子句来进行预测,还是有更好的方法?例如,我有5000张唱片和3个组把它们分开。
Foreach list.item where item.group = group1{
do action one for every record from group1
}
等等..。ps.:我已经有了这段代码的记录,所以我不认为Linq会有帮助。
我目前正在尝试创建一个在C# LINQ中创建查询的方法,该查询将为我提供文件类型、文件类型的合并大小以及该类型的文件总数。我很难获得多个列,也很难让查询收集文件大小。它似乎只有当我分开得到文件大小,但似乎仍然不能总结它们.
这个方法可以只获取文件大小:
var size = from f in files
select (new FileInfo(f).Length);
但是这里不工作,我也无法得到文件计数:
var all = from f in files
gro
在C#中使用LINQ,你可以像这样对列/属性进行分组:
group x by new { x.Column1, x.Column2, x.Column3 }
如果我想对3个属性中的2个匹配的项目进行分组,该怎么办?有没有办法用LINQ做到这一点呢?
由此产生的分组将如下所示:
Address Zip Id
Group 1 null 70002 78
Group 1 Main St null 78
Group 1 Main St 7
我在C#、.NET 4上,使用LINQ,由于一个固定的字段,我需要对表中的所有行进行分组,并根据该子句返回grouped值和每一行的数目。
我写的代码是:
var result = (from p in db.MyPersons
group p by new { p.IDPerson } into g
select new
{
IDPerson = g.Key.IDPerson,
Counter = g.Sum(p => p.IDPe
我在C#应用程序中使用LINQ查询。
我的SQL查询如下所示:
select cast(DATEADD(hh, -4, [firstdate]) as DATE) as [Date], COUNT(Name) as 'Total Name',
from Database.dbo.DatabaseName with (nolock)
where DATEDIFF(dd, DATEADD(hh, -4, [firstdate]), getdate()) between 1 and 7
group by cast(DATEADD(hh, -4, [firstdate]) as DAT
我正在尝试将ColdFusion中使用的查询转换为LINQ和C#。数据来自数据文件,而不是数据库。
我转换了第一个查询,但不知道
如何将其用于查询第二个查询。
如何将count(PDate)作为DayCount包含在第二个查询中。
下面是使用ColdFusion查询的代码:
First query
<cfquery name="qSorted" dbtype = "query">
SELECT OA, CD,PDate,
FROM dataQuery
GROUP BY CD,OA,PDate,
我正在尝试编写一个linq查询,该查询将排除任何具有特定整数ID的子记录的记录。
我所查询的类看起来如下:
public class Group {
public ICollection<Item> { get; set; } // This is the child collection
}
public class Item {
public int Id { get; set; }
}
我的存储库查询方法是:
public ICollection<Group> Get(int itemId) {
return from c in
我有一个LINQ查询,它将项目分组如下:
var myGroup = (from ps in this.Context.PersonSpecialties
where personKeys.Contains(ps.Person_K)
group ps.SpecialtyName by ps.Person_K).ToList();
如何检查该结果中是否有"A12345“键?如果有,去拿它的物品清单。
我有一个与下面的图像类似的表,其中有两个列"cas“和"pref”,您可以看到"cas“列中有公共值,因此我希望按"cas”分组,并使用c#中的Linq只获取"pref“列中具有最大字符串长度的行。
输入表:
所需产出:
我正在使用下面的查询来获得sql中所需的更高的输出,但是如何通过LINQ来实现呢?
select cas, (select top 1 pref from pdf_tab b where b.cas = a.cas order by LEN(pref) desc )
from pdf_tab a gro
嗨,我用c#开发网络应用程序。我有sql查询,并转换为linq,但由于
我的sql查询
Select TOP 3 HastalikIsmi From Hastaliklar group by HastalikIsmi order by Count(*) desc
我的linq
public List<HastalikDto> GetHastalikDto()
{
using (SirketDBContext context = new SirketDBContext())
{
var result = from has
,只是出于好奇:
在我用VB.Net编写了几个项目后,令我惊讶的是,我发现C#和VB.NET LINQ的用法之间存在着一些微妙的差异。例如,如果我们想通过多个属性(列)对元素进行分组,我们需要显式地创建一个新的匿名类型:
var procs = from c in Process.GetProcesses()
group c by new {c.BasePriority, c.Id} into d
select d;
而在VB.NET中,更简单的语法已经可以做到:
Dim b = From c In Process.GetProcesses(
我在linq教程中工作,其中的代码是用c#编写的,并尝试将代码片段转换为vb.net。下面是在c#下工作的内容:
var employeeGroups = from employee in Employee.GetAllEmployees()
group employee by employee.Deptartment;
我可以把它转换成扩展方法
Dim group1 = Employee.GetAllEmployees.GroupBy(Function(x) x.Department)
哪种方法很好,但是
Dim group = From emp
我有一个SQL Server查询,我使用LINQ在c#中重写了这个查询。
在T-SQL查询中,有group by with case when。如何在C#中重写查询?
GROUP BY CAST(ISNULL(EnrollmentDate, CreatedDate) AS DATE),
(
CASE
WHEN ISNULL(AccountId, 0) = 0
THEN [UserId]
好的,
我没有花太多时间在LINQ上,我试图用C#编写一个查询,用子查询代替select语句,group和having。以下是原始查询:
SELECT * FROM "Users" u1
WHERE u1.Name IN (
SELECT u2.Name
From "Users" u2
WHERE Deleted IS NULL
Group By u2.Name
Having Count(UserName) > 1)
ORDER BY "Name"
我可以像这样编写子查询:
是否有方法使C#内部类实例特定于外部类的实例。例如,有什么方法可以像
public class Group
{
public class Generator
{
}
}
Group Group1=new Group()
Group Group2=new Group()
Group1.Generator Generator1=new Group1.Generator();
Group2.Generator Generator2=new Group2.Generator();
Generator1和Generator2有不同的类型吗?
对于上下文,我试图编写一个组理论项目,其中生
我试图用LINQ C#编写以下SQL查询,但无法在group子句之后获得列。
SQL查询
/*get the number of questions by subject*/
select b.SubjectID, b.SubjectName, count(*) AS count
from QuestionsTable a, SubjectTable b
where a.SubjectID is not null AND a.SubjectID = b.SubjectID
GROUP BY a.SubjectID
LINQ查询
var result =(from a in db1.Ques
我对Linq查询有问题。我有一个格式如下的查询,它返回一个结果集,该结果集按顶层分组,并按顶级字符串的字母顺序排列。我希望返回一个结果集,该结果集由两个顶级字符串(因此group子句按字母顺序排序)和子级别字符串按字母顺序排列(因此每个子组也是字母顺序的)。我所期待的是这样的事情:
一个
一个
B
C
B
一个
B
C
我的查询如下所示:
records.results
.Where(table => string.Compare(table, expected) == 0)
.OrderB
我正在使用C#中的正则表达式,当您测试正则表达式时,您可以获得捕获组的列表,这是System.Text.RegularExpressions.GroupCollection的一个实例。
所有关于雷克斯的东西都不相关。相关的是,我不能使用LINQ扩展方法(如GroupCollection、First等)查询Where实例,Visual只是告诉我这些方法不存在。
起初,我认为这不是一个可查询的类型,但是通过查看Visual中的类声明,如下所示:
public class GroupCollection : ICollection<Group>, IEnumerable<Group
我正在编写一个C# LINQ代码,我试图通过在Table1中的一个列进行分组来连接两个表。
下面是返回正确结果的SQL查询
SELECT
SUM(scr.Count),spl.Name
FROM Table1 scr
,Table2 spl
WHERE scr.StatusId = spl.StatusId
GROUP by spl.Name
返回不正确结果的等效LINQ
(from l in _dataContext.Table1
join r in
_dataContext.
假设两个表组和用户如下
[Groups] ([Id] [int] NOT NULL, [Name] [nchar](50) NULL);
[Users] ([Id] [int] NOT NULL, [Name] [nchar](50) NULL, [GroupId] [int] NOT NULL);
FOREIGN KEY([GroupId]) REFERENCES [Groups] ([Id])
其中GroupId是用户的外键。
然后,我使用Linq到SQL类设计器创建相关的类,并将下面的类添加到项目中。
public partial class Group
{
public ove
从web服务返回并序列化为列表的数据如下:
Name Severity Type
John Doe Warning A
John Doe Error A
John Doe Error A
John Doe Error A
Jane West Error B
Mike Smith Warning B
Jack Bl
我有一个linq查询:
var leaveDetails = (from l in leaveList
group l by new {l.LeaveDateStart.Year, l.LeaveType}
into yearGroup
select new
{
yearGroup.Key.Year,
yearGroup.Key.LeaveType,
LeaveTaken = y
我在C#中有下面的Linq表示,它运行得很好:
from c3 in equipment.Measures
where c3.IdEq == eq.IdEq && !(c3.magnitudeId == null || c3.magnitudeId.Trim() == string.Empty)
group c3 by c3.magnitudeId into cgroup
select new
{
MagnitudeID = cgroup.Key,
我得到了以下结构:
One user can have many Groups and a Group can have many users.
现在,我希望获得与用户属于同一组的所有用户作为筛选依据。
例如,用户"Theo“属于第一组和第二组。我要所有属于第一组或第二组的用户。
我如何使用LINQ或一般的c#来实现这一点呢?
下面的代码不起作用:
var res = (IEnumerable<User>)Users;
foreach (var item in user.Groups) {
res = res.Where(usr => usr.Groups.
我想为VB.NET或C#中的Linq子句编写代码,它返回所有记录,直到其中一个列的值之和达到某个值并按另一个列分组。
就目前而言,我在MySQL条款中有这样的说法:
SELECT
O.Id,
O.Supp,
O.TotalCol,
(SELECT
sum(TotalCol) FROM Table1
WHERE Id <= O.Id) 'bTotal'
FROM Table1 O
HAVING bTotal <= 50000
我已经做过的代码:
对象类:
Class Invoices
Public id As Integ
我有一个通过C#程序的表数据,在完成之前我需要收集一些元数据。元数据始终基于数据的字段进行计数。此外,我需要他们都在数据中的一个字段分组。我需要定期向该元数据集合添加新的计数。
我已经研究了一段时间,我认为有意义的是修改我的程序,将数据存储为DataTable,然后在表上运行LINQ查询。我遇到的问题是,能够将不同的计数放入一个类似表的结构中,然后将其写出来。
我可能会像这样运行一个查询:
var query01 =
from record in records.AsEnumerable()
group record by record.Field<String>
我在一个group_by上使用Observable,但是对于每个新创建的组,我想要抓取导致使用with_latest_from创建组的元素(用新键)
>>> from __future__ import print_function
>>> from rx import Observable
>>> # sequence 1, 2, 3, ... every half a second
>>> observable=Observable.interval(500).map(lambda x: x + 1)
>&g
如何使用由两个id组成的组;我有如下数据
empid: 1, usrid: 1, profid: 1
empid: 1, usrid: 1, profid: 2
empid: 2, usrid: 1, profid: 5
我写了这样的查询
var query = (from i in data
group i by new { i.empid, i.usrid} into g
select new {
profileid = g.Select(z=>z.profileid).ToArr
下面的LINQ语句不喜欢我的.ToList()方法。我在其他的LINQ语句中也用过这个方法,但group by没有用过,删除了.ToList()方法后,代码在LINQPad中运行得很好。那么,有人知道为什么我会得到上面的Oracle错误吗?我使用C#得到了这个错误。Oracle 11g。
var result = (from d in db.SLSPERDTs
group d by new { d.YR, d.PERNUM } into g
select g.First()).ToList();
在这个Oracle表中,我简单地尝试按YR