анонимный тип и несколько свойств

У меня есть эта ошибка: анонимный тип не может иметь нескольких свойств с тем же именем. Может ли это быть разрешено с псевдонимом т.е., существует ли псевдоним в LINQ

var device_query = from d in DevicesEntities.device
             join dt in DevicesEntities.devicetype on d.DeviceTypeId equals dt.Id
             join l in DevicesEntities.location on d.Id equals l.DeviceId
             join loc in DevicesEntities.locationname on l.LocationNameId equals loc.Id
                           where l.DeviceId == d.Id
                           select new {
                               d.Id,
                               d.DeviceTypeId,
                               d.SerialNumber,
                               d.FirmwareRev,
                               d.ProductionDate,
                               d.ReparationDate,
                               d.DateOfLastCalibration,
                               d.DateOfLastCalibrationCheck,
                               d.CalCertificateFile,
                               d.Notes,
                               d.TestReportFile,
                               d.WarrantyFile,
                               d.CertificateOfOriginFile,
                               d.QCPermissionFile,
                               d.Reserved,
                               d.ReservedFor,
                               d.Weight,
                               d.Price,
                               d.SoftwareVersion,
                               dt.Name,
                               dt.ArticleNumber,
                               dt.Type,
                               l.StartDate, //AS LastStartDate,
                               l.LocationNameId,
                               loc.Name //in this line I have problem
                           };
16
задан Ognjen 28 April 2010 в 08:51
поделиться

2 ответа

Вам необходимо предоставить альтернативные имена для повторяющихся свойств. Например:

select new {
   // ... other properties here ...
   dt.Name,
   dt.ArticleNumber,
   dt.Type,
   LastStartDate = l.StartDate,
   l.LocationNameId,
   CurrentLocation = loc.Name
};
47
ответ дан 30 November 2019 в 15:43
поделиться

Конфликт на "Имя" Вы сопоставляете как dt.Name, так и loc.Name, которые компилятор пытается установлен в свойство "Name" анонимного типа.

измените одно из них, например, на LoationName = loc.Name.

HTH

[edit] Слишком поздно нажимать кнопку отправки: -)

2
ответ дан 30 November 2019 в 15:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: