Если я вызываю тот же код:
return _context.dtoCostCodes <br> .FromSqlRaw($"SELECT distinct '' as
ID, CostCode, BusinessUnitID from CostCodes where IsActive = 1 and
BusinessUnitID = '{id}'").ToList();
Сначала с моим DBContext, установленным как
public DbQuery<DTO.dtoCostCode> dtoCostCodes { get; set; }
, а затем:
public DbSet<DTO.dtoCostCode> dtoCostCodes { get; set; }
DbQuery дает мне правильные результаты как по количеству записей, так и по данным. Если я использую DbSet, он дает мне правильное количество записей, но первая строка дублируется снова и снова.
Есть идеи относительно причины такого поведения?
Меня беспокоит то, что в.net Core 3.0 DbQuery устарел, и я столкнусь с различными проблемами в будущем. Мы только что обновились с версии 2.2, где я смог использовать
select new dtoCostCode
{
ID = c.ID,
JDECostCode = c.JDECostCode,
BusinessUnitID = c.BusinessUnitID
}).Where(cc => cc.BusinessUnitID == id).GroupBy(cc => cc.JDECostCode).Select(y => y.First()).Distinct().ToListAsync();
Но он больше не поддерживается в версии 3.0