我正在设法按每一项在Linq到SQL的时间范围内发生的那一天对其进行分组,但我无法使它正常工作。
var graph = from o in DB.Context.Occurances
where o.Occurred > fromDate && o.Occurred <= toDate
group o by o.Occurred.Date into g
orderby g.Key ascending
select new
我正在尝试只对日期时间字段的日期部分执行一个Linq group by。
此linq语句有效,但它按日期和时间进行分组。
var myQuery = from p in dbContext.Trends
group p by p.UpdateDateTime into g
select new { k = g.Key, ud = g.Max(p => p.Amount) };
当我运行此语句以仅按日期分组时,我得到以下错误
var myQuery = from p in dbContext.Trends
group p by p
保持简单:我希望填充一个包含列表的自定义类型。
List<ParentModel> parentModelList =
(from c in _context.children
join p in _context.parents on c.ParentId equals p.ParentId
orderby c.BirthDate
where p.GenderId = gender.GenderId // Could be a male parent or female or whatever
group c by p into chil
我现在正在对代码执行SQL to LINQ返工。
我必须将如下所示的查询翻译为LINQ:
SELECT COUNT(*) AS NUM, A.a1, GROUP_CONCAT(A.a2)... A.an, B.b1... B.bn... etc
FROM A LEFT JOIN B ON ...
LEFT JOIN C ON ...
GROUP BY A.a1, A.a3.....B.b1
HAVING NUM > 1
注意,我故意在A.a2子句中省略了GROUP BY。查询只发现一个字段不同的重复记录。因此,在MySQL中,我必须将实体投影(JOIN)到一个行中,从行中
请帮助我将此SQL查询转换为Linq。
SELECT convert(varchar, data_acquisto, 101) as data , SUM(quantita)
FROM Acquisto
WHERE data_acquisto >= DATEADD(month,-1,GETDATE())
GROUP BY convert(varchar, data_acquisto, 101)
这就是我尝试过的:
var a = from acq in ctx.Acquisto
where acq.data_acquisto >= da
我有这两个实体:
public class Course
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public virtual ICollection<Class> Classes { get; set; }
}
public class Class
{
public int Id { get;
我知道有很多关于如何使用LINQ计算百分位数的答案,但我找不到任何与我的问题相关的答案。
我有一个对象列表,它包含持续时间作为属性之一,我必须通过将列表按名称分组来计算其百分位数。在C#中使用linq有什么最简单的方法可以做到这一点吗?我的对象如下所示:
class Performance{
public string Name { get; set; }
public Nullable<decimal> DurationMilliSeconds { get; set; }
public string typeName { get;
我是LINQ的新手,我需要编写一个查询,以便按日期获得分组记录的顺序。我的表有列: personId、monthAccepted、amountSent、processKeyId、dateProcessed personId可以有多个条目。我的要求是通过dateProcessed为每个不同的personId订单获取第一个条目( processKeyId )。这就是我尝试过的:
int pageNumber = 1;
int pageSize = 100;
var RecordsInQueue = from o in db.PersonTransaction
.OrderByDescendin
我使用实体框架在数据库中创建了三个表
class User{
public string Name {get;set;}
public IEnumerable<Pet> Pets {get;set;}
}
class Pet{
public string Name {get;set;}
public IEnumerable<Toy> Toys {get;set;}
}
class Toy{
public string Name {get;set;}
}
我想选择前10名用户(使用linq),其中有最大数量的玩具。
试过这个,但没成
我正试着找一个小组在Linq工作:
from document in Documents
Group Join documentInstrument In DocumentInstruments
On document.DocumentId Equals documentInstrument.DocumentId
Into relatedDocumentInstruments = Group
From documentInstrument In relatedDocumentInstruments.DefaultIfEmpty()
Group Joi
那么在SQL中允许嵌套的GroupBy()吗?或者通过ling-to-sql或实体框架可用?目前,我需要在查询中间执行一个检索,以使其正常工作:
var query = (
from s in Prices
group s by new { s.P1, s.P2 } into FirstGroups
select FirstGroups
)
.ToList() // without it, exception is thrown
.SelectMany(g1 =>
g1.GroupBy(i => i.P3).OrderBy(i => i.
我在SQL中有一个列,其日期值(CreDt)存储为int。
下面的Linq2Sql查询语法将按CreDt日期对表进行分组。即20220109,这不是我想要的,我想按年或按YearMonth分组。即202201
我怎么能这么做?
var yymm = from p in Order
group p by new { ym = p.CreDt } into d
select new { YearMonth = d.Key.ym};
我没有在项目中使用LINQ to SQL,我只是完成了一个使用LINQ开发数据访问逻辑的动手实验室,其中一个任务是创建实体转换程序类,以便在linq实体和业务实体之间进行转换。
我对此有点困惑,因为我认为我们使用LINQ to SQL的原因是它可以自动为我们生成LINQ实体,我们可以立即查询/更新/插入/删除这些实体。如果我们不必定义自己的自定义实体并为实体和LINQ实体之间的映射而烦恼,那就太好了。但由于实验室定义了业务实体,我知道我错了。
有人能告诉我在哪种情况下我们应该定义业务实体而不是立即使用entites LINQ to SQL吗?在这种情况下,使用LINQ to SQL与ADO.N
从像这样的传统SQL语句中:
SELECT Id, Owner, MIN(CallTime)
FROM traffic
WHERE CallType = "IN"
GROUP BY Owner;
其中CallTime是一个日期时间字段,我想要的是属于每个Owner的最旧的记录。
我如何使用Linq来实现这一点?
这是我的尝试(我使用实体框架,context是实体实例):
var query = context.traffic.Where(t => t.CallType == "IN");
var results = query
.GroupB
我想在我的linq查询中使用我的实体类属性来返回它的一些值。
所以这是我的linq查询;
List<PvmBarChartData> BaseofSegmentIPPGMR = (from si in db.ScoreItem
join s in db.Score on si.ScoreId equals s.Id
join prg in db.ProjectResearchGroup on si.ProjectResearchGroupId equals prg.Id
join rg in db.RgClone on prg.RgCloneId equals rg.Id
我有以下Linq to SQL查询,其中我试图通过以下方法执行多列组:
return from revision in dataContext.Revisions
where revision.BranchID == sourceBranch.BranchID-1
&& !revision.HasBeenMerged
group revision by new Task(revision.TaskSourceCode.ToUpper(),
revis
如何在LINQ (c# EF6)中编写此查询? 有人能帮我一下吗--我是实体框架结构的新手--对我来说使用不同的子句太难了 SELECT
sum(remainingamount) TotalSiteCreditAmount,
max(expirationutcdatetime) MaxExpiryDate
FROM
WholesaleCredits
WHERE
ExpirationUTCDateTime > Getdate()
GROUP BY
registeredcustomerid,
siteid
HAVING
re
我有一个完整的外部联接查询,从中提取数据(我使用EF6进行映射):
var query =
from entry in left.Union(right).AsEnumerable()
select new
{
...
} into e
group e by e.Date.Year into year
select new
{
Year = year
我有一个数据库,在那里我需要获得每个用户的最新消息(这意味着给我或来自我的消息)。我正在使用LINQ到实体,下面是我的查询:
var latestMessageFromEachUser = from m in Database.Messages.Include(m => m.From).Include(m => m.To)
where !m.IsDeleted && (m.ToID == User.ID || m.FromID == User.ID)
orderby m.ID descending
let otherEnd = m.ToID == use
我在项目表和审计表之间有一对多的关系。我正在尝试从审计表中挑选出每个项目实体的最新条目。
根据我对此的理解,我应该能够在按项目id分组之前按日期对我的审计收集进行排序,这样我就可以为每个组(项目id)选择第一个条目来获得最新的条目。
但是当我运行ef/linq查询时,结果并不正确,order-by似乎被忽略了--甚至生成的sql都不包括order by语句。
下面是我尝试过的简单示例。
using (var ctx = new MyDbContext())
{
var audit = from a in ctx.ProjectAudits
orderby
我有一个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