我要查询用户插入了多少实体(Version = 1)和更新了多少实体(Version > 1)。它通过记录的UserName查询整个表和组。这是原始SQL查询:
SELECT
[s.InternalUser].[UserName],
COUNT(CASE WHEN s.Version = 1 THEN 1 END) AS [InsertCount],
COUNT(CASE WHEN s.Version > 1 THEN 1 END) AS [UpdateCount]
FROM [Sale] AS [s]
INNER JOIN [InternalUser]
我使用实体框架核心3.1连接到数据库,我尝试的是获取按类别id分组的最高和最低的产品详细信息。基于在和上显示的答案,我尝试编写以下代码:
使用Linq:
//NOTE: 'Products' is an IQueryable for all the products in the database.
var highPrice = from a in Products
group a by a.CategoryId
into prods
(from p in this.m_dbContext.Patient
join b in (from a in this.m_dbContext.Appointments
join p in this.m_dbContext.Patient on a.Patientid equals
p.Patientid
where a.Doctorid == doctorid && a.Clinicid == clinicid
group a by a.Patientid)
on p.Pat
在中,我有一个表,其中包含对联系人调用的历史记录(即另一个表)。经电子论坛访问的实体如下:
public partial class CallbackHistory
{
public int HistoryId { get; set; }
public int CompanyId { get; set; }
public int CallerId { get; set; }
public DateTime LastCallTimeStamp { get; set; }
public virtual CompanyDiary Caller { get;
我在EF中有这样的查询:
var data = db.Inventario.Where(i => i.ClienteId.Equals(Global.ClienteID))
.GroupBy(i => new { Tipo = i.Tipo.TipoNombre, Zona = i.Localidad.Zona.ZonaNombre, Localidad = i.Localidad.LocalidadNombre })
.Select(i => new Registro()
{
Tipo = i.Key.Tipo,
我的Server查询(如下所示)非常好,我正在尝试将其转换为LinQ中的C#。
SQL查询:
SELECT addressline3, city, COUNT(*) as 'InstitutionNumber'
FROM institutionenquiries
WHERE CITY = 'AHMEDABAD'
GROUP BY addressline3, city
ORDER BY city;
期望的产出是:
我能够以下面的格式绘制LinQ查询,这给了我正确的输出
(COUNT(*) as 'InstitutionNumber'除外)
我有一个数据库表来连接用户和客户端之间的数据。
db: class UserClientCorporate{
int UserId;
User User;
int ClientCorporateId;
ClientCorporate ClientCorporate;
}
我想查询以获得按ClientCorporates分组的userid列表。我在堆栈溢出(如 )上遵循了一些示例
以下是我的疑问:
var data3 = from db in _context.UserClientCorporate
group db.ClientCorporateId by d
我使用普通linq进行了下面的查询,它工作得很好(使用匿名类型),
var result = from s in Items
group s by s.StartTime into groupedItems
select new {groupedItems.Key, Items= groupedItems.OrderBy(x => x.Name) };
但使用动态Linq时,我无法在groupby中对其进行排序。
result = Items.GroupBy("StartTime", "it
存储地址的实体如下所示,并将多个表引用为外键,如国家、大陆等。
public class ContactAddress
{
[Key]
public int Id { get; set; }
[ForeignKey(nameof(Contact))]
public int ContactId { get; set; }
public virtual Contact Contact { get; set; }
[ForeignKey(nameof(Continent))]
public int? ContinentId {
我想做一个简单的查询。我想要一个带有字符串和Guid的列表,以及一个带有十进制和字符串的子列表。我的查询是这样的,但是当翻译到实体框架时,它会不断出错,我做错了什么呢?
提前感谢
var a = ( from c in DbContext.CC
join icc in DbContext.ICC c.Id equals icc.CCId
join i in DbContext.I on icc.IId equals i.Id
join p in DbContext.P on i.
下面的linq代码给出了.netcore 3.0版本中的错误,我找不到原因。
Codigo
public async Task<List<IGrouping<Department,SalesRecord>>> FindByDateGroupingAsync(DateTime? minDate, DateTime? maxDate)
{
var result = from obj in _context.SalesRecord select obj;
if (minDate.HasValue)
我有一个linq表达式,我想对它进行分组,并强制转换为硬类型List<DocumentGroup>。
此linq查询工作正常:
var DocumentGroups = (from dt in DocumentTypes
let dg = dt.DocumentGroup
select new DocumentGroup(){
Name = dg.Namn,
Id = dg.Id
我正在开发一个ASP.NET核心3.1项目。我希望根据门票的CreatedTime和ModifiedTime之间的差异的平均值来对服务进行分组。
基本上,我想知道每张票,每种服务的平均分钟数。
就像这样:
==========================
Name | Avg. Mins
==========================
Service 1 | 10 Mins
Service 2 | 12 Mins
Service 3 | 20 Mins
==========================
以下是我尝试过的:
var
因此,EFCore2.1评估server上的GroupBy LINQ表达式(当使用server时)。
但是,当查询变得更加复杂时,这是一个很棒的问题。
用于这些查询的模型是:
public class Invoice
{
public string Status {get; set;}
public string InvoiceType {get; set;}
public decimal InvoicePayments {get; set;}
public decimal EligibleValue {get; set;}
}
此LINQ语句在Server:中
在我的应用程序中,我很难调整一个Entity Framework生成的查询。这是非常基本的查询,但出于某种原因,EF使用多个内部子查询,这些子查询在DB中执行得很糟糕,而不是使用联接。
这是我的LINQ代码:
Projects.Select(proj => new ProjectViewModel()
{
Name = proj.Name,
Id = proj.Id,
Total = proj.Subvalue.Where(subv =&
从SQL表中,我尝试获取每一项的最后一行。我正在分配一个用户列表(objectIds列表),并希望获得每个用户的最后一个作业。这是下面的函数。 public async Task<List<Job>> GetLastJobs(List<int> objectIds)
{
using ManagerContext context = new ManagerContext(_callContext);
List<Job> jobs = context.Jobs.Where(j => j.Objec
我有以下查询,我想在属性LValues中得到一个逗号分隔的位置列表。
from sci in sit
join i in it on sci.ItemId equals i.Id into it
from i in it.DefaultIfEmpty()
join sc in sc on sci.ISId equals sc.Id
join l in Loc on sc.Id equals l.ESId
group new { l, sci, i } by new { i.Code, i.Name } into g
select new
{
我使用的是EFCore2.1,查询不计算在SQL服务器端。
在此查询中使用的模型是:
public class V_TurnoverByDivision
{
public long Id { get; set; }
public decimal LineAmount { get; set; }
public DateTime? PostingDate { get; set; }
public decimal Quantity { get; set; }
public decimal UnitCostLcy { get; set; }
我在for循环中有许多LINQ查询,如下所示:
Department department = db.Departments.Single(d => d.DepartmentID == teams[i].DepartmentID);
问题是LINQ不喜欢与数组元素进行比较,并抛出异常LINQ to Entities无法识别方法'get_Item(Int32)‘。除了为我想要选择的团队列表中的每个属性声明局部变量之外,还有更好的方法来解决这个问题吗?我不想让我的for循环被这样的东西填满。
int departmentID = teams[i].DepartmentID;
stri