C# 在执行linq查询时,它会抛出casting error system.int32
我也面临着同样的问题,很多时候在放置Tolist方法时会出现这个问题,因为在放置Tolist()方法之前,查询生成的输出类型是C# 在执行linq查询时,它会抛出casting error system.int32,c#,.net,linq,model-view-controller,C#,.net,Linq,Model View Controller,我也面临着同样的问题,很多时候在放置Tolist方法时会出现这个问题,因为在放置Tolist()方法之前,查询生成的输出类型是 可液化的 但这不是你问题的解决办法 问题是,这可能是错误的 1将可为空的整型变量分配给不可为空的整型值,或2将可为空的整型值与联接中的不可为空的值进行比较,反之亦然 第二种情况的可能性更大,因为在赋值时,c#编译器会给出错误 检查比较变量的类型,然后让我进行一些跟进 这是一个语法错误-您在下一行注释了join,但使用了equals,您好!欢迎来到Stackoverflo
可液化的
但这不是你问题的解决办法 问题是,这可能是错误的 1将可为空的整型变量分配给不可为空的整型值,或2将可为空的整型值与联接中的不可为空的值进行比较,反之亦然 第二种情况的可能性更大,因为在赋值时,c#编译器会给出错误
检查比较变量的类型,然后让我进行一些跟进 这是一个语法错误-您在下一行注释了
join
,但使用了equals
,您好!欢迎来到Stackoverflow。这回答了你的问题吗?没有人知道如果是语法错误,它不会在其他情况下运行,它只是在将其转换为.tolist()时抛出错误。请帮帮我,我太瞎了,看不见。您在哪里将任何内容强制转换或转换为int32
?实际上,为了能够真正帮助您,我们需要AppointmentDataTableResult
的声明以及所有涉及的表格,以查看所有变量及其类型。否则,这将仍然是一个猜测游戏。。。。。这可能需要foreveri在我的查询中并没有做这两件事,有些是可以为null的,有些不是,但我并没有用non-nullable检查nullable,你们在第9行比较的声明的“offloc”变量在哪里
var Appointment = (from app in _context.Appointments
join pt in _context.Patients on app.PatientID equals pt.ID into
patients
from pt in patients.DefaultIfEmpty()
join doc in _context.Doctors on app.DoctorID equals doc.ID into
doctors
from doc in doctors.DefaultIfEmpty()
//join offloc in _context.OfficeLocations on app.DoctorID
equals offloc.DoctorID into officlocation
//from offloc in officlocation.DefaultIfEmpty()
join docavail in _context.DoctorsAvailabilities on
app.AvailabilityID equals docavail.ID into availability
from docavail in availability.DefaultIfEmpty()
where ((app.CreatedByReferral == ReferralSpecialistID ||
app.CompanyID == CompanyID || app.UserGroupID == CompanyID) &&
app.OtherPatientID == null && pt.Status == StatusConstant.Active
&& app.Status != AppointmentRescheduledID &&
app.IsCloseAppointment != true)
select new AppointmentDataTableResult
{
appointmentID = app.ID,
PatientID = pt.ID,
patientname = (pt.NamePrefix ?? "") + " " + pt.FirstName + " " + pt.LastName + " " + (pt.NameSuffix ?? ""),
ParentPatientID = 0,
dateofbirth = pt.DateOfBirth,
patientType = _context.CategoryDetails.Where(x => x.ItemID == app.PatientTypeID).Select(x => x.MasterData).FirstOrDefault(),
phone = pt.Phone,
Date = docavail.Date,
Time = docavail.Time,
statustext = _context.CategoryDetails.Where(x => x.ItemID == app.Status).Select(x => x.MasterData).FirstOrDefault(),
doctorname = (doc.NamePrefix ?? "") + " " + doc.FirstName + " " + doc.LastName + " " + (doc.NameSuffix ?? ""),
DoctorID = doc.ID,
checkin = app.CheckIn,
checkout = app.CheckOut,
checkintime = app.CheckInTime,
checkouttime = app.CheckOutTime,
withoutslot = app.WithoutSlot,
locatioid = app.LocationID ?? 0,
AppointmentSource = app.AppointmentSource ?? 0,
Status = app.Status ?? 0,
IsPastAppointment = app.IsPastAppointment,
casestatusID = app.CaseStatusID ?? 0,
caseTypeID = app.CaseTypeID ?? 0,
ReferralAttorneyID = app.ReferralAttorneyID ?? 0,
ReferralProviderID = app.ReferralProviderID ?? 0,
patientTypeID = app.PatientTypeID ?? 0,
InsuranceID = app.InsuranceID ?? 0,
PendingAppointmentDate = app.PreferredAppointmentDateTime,
// AppointmentDate = docavail.Date.Value.Month + "/" + docavail.Date.Value.Day + "/" + docavail.Date.Value.Year + " " + docavail.Time.Value.Hours + ":" + docavail.Time.Value.Minutes,
ReportCount = _context.DoctorReportStatus.Where(x => x.StatusID == StatusConstant.Active && x.AppointmentID == app.ID).Count(),
RerecordUploadedYN = app.RerecordUploadedYN,
IsAppointmentPending = app.IsAppointmentPending,
IsPendingBillingRecoardYN = app.IsPendingBillingRecoardYN,
strDate = docavail.Date.Value.Month + "/" + docavail.Date.Value.Day + "/" + docavail.Date.Value.Year,
DateChekin = default(DateTime),
totaldays = 0
});