Использование анонимных объектов должно работать.
var oClients = (from p in context.vwClients where (p.ClientNumber == ClientNumber) && p.isDeleted == true
select new ClientDTO
{
ClientNumber = p. ClientNumber,
IncomeClassId = p.IncomeClassId,
FullClientName = p. FullClientName,
CountryId = p.CountryId,
ProductId = p.ProductId,
ProductName = p.ProductName,
ProductShortName = p.ProductShortName,
isDeleted = p. isDeleted
}
).Select(i => new {i.ClientNumber, i.IncomeClassId, i.FullClientName, i.CountryId, i.ProductId, i.ProductName, i.ProductShortName, i.isDeleted}).Distinct().ToList();