У меня есть две таблицы: свойства, аренда
, у которых есть пара похожих свойств, таких как: AreaInSquareMeters, RentalPrice и т. Д. У меня есть DTO, в который я хочу спроецировать их, а затем объединить их в одно целое.Но если я сопоставлю коллекции с DTO, возникнет исключение:
The 'Distinct' operation cannot be applied to the collection ResultType of the specified argument.Parameter name: argument
Это небольшой код, который вызывает исключение
var properties = Context.Properties.Select(property => new PropertyInfoDTO
{
Id = property.Id,
PropertyName = property.PropertyName,
SellingPrice = property.SellingPrice,
RentalPrice = property.RentalPrice,
Images = property.Images.Select(image => new PropertyImagesInfoDTO
{
ImagePath = image.ImagePath,
ImageRatio = image.ImageRatio
}).ToList(),
other properties mapped here
}
Тогда:
var rentals = Context.Properties.Select(property => new PropertyInfoDTO
{
Id = property.Id,
PropertyName = property.Property.PropertyName,
SellingPrice = property.Property.SellingPrice,
RentalPrice = property.RentalPrice,
Images = property.Property.Images.Select(image => new PropertyImagesInfoDTO
{
ImagePath = image.ImagePath,
ImageRatio = image.ImageRatio
}).ToList(),
other properties mapped here
}
и я хочу сделать в целом:
properties = properties.Union(rentals);
Все в порядке, пока я не сделаю запрос к БД и не попытаюсь его материализовать. Есть предложения, как привести их к некоторому DTO и агрегировать их?