相关疑难解决方法(0)

使用不同过滤器的实体框架 6 查询

我有个问题。当我运行下面的代码时:

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)

谢谢。

c# entity-framework entity-framework-6 visual-studio-2013

5
推荐指数
1
解决办法
1万
查看次数

实体框架核心 - 在迁移到.net核心后首先返回重复的结果

所以我在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)

.net c# entity-framework entity-framework-core .net-core

4
推荐指数
1
解决办法
274
查看次数