Я знаю, почему это происходит, но может ли кто-нибудь помочь мне в правильном направлении синтаксиса? В настоящее время у меня есть три таблицы, соединенные одним-единственным необязательным отношением. И я присоединился к ним в качестве внешнего внешнего соединения. Мой запрос ....Ошибка параметра Generic Linq
var model = from t1 in db.Doctors
join d in db.DoctorAddress on t1.DoctorId equals d.DoctorId into listi
join dc in db.DoctorCharges on t1.DoctorId equals dc.DoctorId into listj
join da in db.DoctorAvailablities on t1.DoctorId equals da.DoctorId into listk
from d in listi.DefaultIfEmpty()
from dc in listj.DefaultIfEmpty()
from da in listk.DefaultIfEmpty()
select new
{
Name = t1.Name,
RoomNo = da.RoomNo,
IPDCharge = dc.OPDCharge,
Address = d.Address,
};
Моя проблема заключается в том, что OPDCharge
имеет тип Decimal(not null)
Я получаю ошибку является:
Сведения об исключении: System.InvalidOperationException: Актерский к значению type 'Double' failed, потому что материализованное значение равно null. Либо общий параметр типа результата, либо запрос должны использовать тип с нулевым значением.
Какой будет правильный синтаксис?
Что типы данных '' dc.OPDCharge' и IPDCharge '? Также каков тип данных столбца в базе данных? – gunr2171
IPDCharge = dc.OPDCharge ?? 0; Возможно. – stevepkr84
Столбец OPDCharge имеет десятичный тип. – Jaan