我有个问题。当我运行下面的代码时:
var data = context.TableX.Where(w => w.userId == 9999&& w.id == 9999) .Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)
这是生成的查询:
SELECT [Extent1].[id] AS [id], [Extent1].[name] AS [name], [Extent1].[companyId] AS [companyId], [Extent1].[userId] AS [userId] FROM [TableX] AS [Extent1] WHERE (9999 = [Extent1].[userId]) AND (9999= [Extent1].[id]) -- Executing at 01/06/2016 17:28:01 -03:00 -- Completed in 271 ms with result: SqlDataReader
Run Code Online (Sandbox Code Playgroud)
我想知道您是否可以使“Distinct”与查询一起运行,如下所示:
SELECT DISTINCT id, name, companyId AS type FROM TableX WHERE id=9999 AND userId=9999
Run Code Online (Sandbox Code Playgroud)
谢谢。
所以我在ef核心中有一个以下查询,这导致重复的结果甚至很难我首先调用或默认它
DateTime maxDate = SqlDateTime.MaxValue.Value;
var results = (from r in _dbContext.audit_Results
join e in _dbContext.audit_DataEncounters on new { r.IdAudit, r.PatientFirstName, r.PatientLastName, r.PatientDOB } equals new { e.IdAudit, PatientFirstName = e.FirstName, PatientLastName = e.LastName, PatientDOB = e.DateOfBirth } into eJoin
let e = eJoin.Where(it => it.StartDate <= r.TransactionDate && r.TransactionDate <= (it.EndDate ?? maxDate))
.OrderBy(it => it.Inpatient).OrderByDescending(it => it.StartDate)
.FirstOrDefault()
where r.IdAudit == idAudit && r.PatientFirstName == "ERIC" && r.PatientLastName == "BROOKS"
select new AuditResultBulkModel()
{
IdResult = r.IdResult,
map_HasPatient …Run Code Online (Sandbox Code Playgroud)